Refactored Supabase Clients using the new recommended approach by Supabase by centralizing all clients around one single implementation. (#51)

The previous clients have been marked as deprecated and will be removed at some point.
This commit is contained in:
Giancarlo Buomprisco
2024-08-14 17:13:59 +08:00
committed by GitHub
parent 2f0c4b4ae3
commit ba6e649461
41 changed files with 209 additions and 168 deletions

View File

@@ -4,7 +4,7 @@ import { redirect } from 'next/navigation';
import { enhanceAction } from '@kit/next/actions';
import { getLogger } from '@kit/shared/logger';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import { CreateTeamSchema } from '../../schema/create-team.schema';
import { createCreateTeamAccountService } from '../services/create-team-account.service';
@@ -12,7 +12,7 @@ import { createCreateTeamAccountService } from '../services/create-team-account.
export const createTeamAccountAction = enhanceAction(
async ({ name }, user) => {
const logger = await getLogger();
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const service = createCreateTeamAccountService(client);
const ctx = {

View File

@@ -4,7 +4,7 @@ import { revalidatePath } from 'next/cache';
import { redirect } from 'next/navigation';
import { enhanceAction } from '@kit/next/actions';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import { getSupabaseServerAdminClient } from '@kit/supabase/server-admin-client';
import { LeaveTeamAccountSchema } from '../../schema/leave-team-account.schema';
import { createLeaveTeamAccountService } from '../services/leave-team-account.service';
@@ -15,7 +15,7 @@ export const leaveTeamAccountAction = enhanceAction(
const params = LeaveTeamAccountSchema.parse(body);
const service = createLeaveTeamAccountService(
getSupabaseServerActionClient({ admin: true }),
getSupabaseServerAdminClient(),
);
await service.leaveTeamAccount({

View File

@@ -4,13 +4,13 @@ import { redirect } from 'next/navigation';
import { enhanceAction } from '@kit/next/actions';
import { getLogger } from '@kit/shared/logger';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import { UpdateTeamNameSchema } from '../../schema/update-team-name.schema';
export const updateTeamAccountName = enhanceAction(
async (params) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const logger = await getLogger();
const { name, path, slug } = params;

View File

@@ -6,7 +6,8 @@ import { redirect } from 'next/navigation';
import { z } from 'zod';
import { enhanceAction } from '@kit/next/actions';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import { getSupabaseServerAdminClient } from '@kit/supabase/server-admin-client';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import { AcceptInvitationSchema } from '../../schema/accept-invitation.schema';
import { DeleteInvitationSchema } from '../../schema/delete-invitation.schema';
@@ -22,7 +23,7 @@ import { createAccountPerSeatBillingService } from '../services/account-per-seat
*/
export const createInvitationsAction = enhanceAction(
async (params) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
// Create the service
const service = createAccountInvitationsService(client);
@@ -51,7 +52,7 @@ export const createInvitationsAction = enhanceAction(
*/
export const deleteInvitationAction = enhanceAction(
async (data) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const service = createAccountInvitationsService(client);
// Delete the invitation
@@ -74,7 +75,7 @@ export const deleteInvitationAction = enhanceAction(
*/
export const updateInvitationAction = enhanceAction(
async (invitation) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const service = createAccountInvitationsService(client);
await service.updateInvitation(invitation);
@@ -96,7 +97,7 @@ export const updateInvitationAction = enhanceAction(
*/
export const acceptInvitationAction = enhanceAction(
async (data: FormData, user) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const { inviteToken, nextPath } = AcceptInvitationSchema.parse(
Object.fromEntries(data),
@@ -106,14 +107,14 @@ export const acceptInvitationAction = enhanceAction(
const perSeatBillingService = createAccountPerSeatBillingService(client);
const service = createAccountInvitationsService(client);
// use admin client to accept invitation
const adminClient = getSupabaseServerAdminClient();
// Accept the invitation
const accountId = await service.acceptInvitationToTeam(
getSupabaseServerActionClient({ admin: true }),
{
inviteToken,
userId: user.id,
},
);
const accountId = await service.acceptInvitationToTeam(adminClient, {
inviteToken,
userId: user.id,
});
// If the account ID is not present, throw an error
if (!accountId) {
@@ -134,7 +135,7 @@ export const acceptInvitationAction = enhanceAction(
*/
export const renewInvitationAction = enhanceAction(
async (params) => {
const client = getSupabaseServerActionClient();
const client = getSupabaseServerClient();
const { invitationId } = RenewInvitationSchema.parse(params);
const service = createAccountInvitationsService(client);