diff --git a/packages/features/team-accounts/src/components/create-team-account-dialog.tsx b/packages/features/team-accounts/src/components/create-team-account-dialog.tsx index 3cbe0c6ec..41f88b430 100644 --- a/packages/features/team-accounts/src/components/create-team-account-dialog.tsx +++ b/packages/features/team-accounts/src/components/create-team-account-dialog.tsx @@ -27,7 +27,7 @@ import { Input } from '@kit/ui/input'; import { Trans } from '@kit/ui/trans'; import { CreateTeamSchema } from '../schema/create-team.schema'; -import { createOrganizationAccountAction } from '../server/actions/create-team-account-server-actions'; +import { createTeamAccountAction } from '../server/actions/create-team-account-server-actions'; export function CreateTeamAccountDialog( props: React.PropsWithChildren<{ @@ -75,7 +75,7 @@ function CreateOrganizationAccountForm(props: { onClose: () => void }) { onSubmit={form.handleSubmit((data) => { startTransition(async () => { try { - await createOrganizationAccountAction(data); + await createTeamAccountAction(data); } catch (error) { setError(true); } diff --git a/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts b/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts index 47f54724f..f6cd2f4b6 100644 --- a/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts +++ b/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts @@ -3,25 +3,39 @@ 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 { CreateTeamSchema } from '../../schema/create-team.schema'; import { createCreateTeamAccountService } from '../services/create-team-account.service'; -export const createOrganizationAccountAction = enhanceAction( +export const createTeamAccountAction = enhanceAction( async ({ name }, user) => { + const logger = await getLogger(); const client = getSupabaseServerActionClient(); const service = createCreateTeamAccountService(client); + const ctx = { + name: 'team-accounts.create', + userId: user.id, + accountName: name, + }; + + logger.info(ctx, `Creating team account...`); + const { data, error } = await service.createNewOrganizationAccount({ name, userId: user.id, }); if (error) { + logger.error({ ...ctx, error }, `Failed to create team account`); + throw new Error('Error creating team account'); } + logger.info(ctx, `Team account created`); + const accountHomePath = '/home/' + data.slug; redirect(accountHomePath); diff --git a/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts b/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts index f20420e47..1a5f174f6 100644 --- a/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts +++ b/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts @@ -3,15 +3,24 @@ import { redirect } from 'next/navigation'; import { enhanceAction } from '@kit/next/actions'; -import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client'; +import { getLogger } from '@kit/shared/logger'; +import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client'; import { UpdateTeamNameSchema } from '../../schema/update-team-name.schema'; export const updateTeamAccountName = enhanceAction( async (params) => { - const client = getSupabaseServerComponentClient(); + const client = getSupabaseServerActionClient(); + const logger = await getLogger(); const { name, path, slug } = params; + const ctx = { + name: 'team-accounts.update', + accountName: name, + }; + + logger.info(ctx, `Updating team name...`); + const { error, data } = await client .from('accounts') .update({ @@ -25,11 +34,15 @@ export const updateTeamAccountName = enhanceAction( .single(); if (error) { + logger.error({ ...ctx, error }, `Failed to update team name`); + throw error; } const newSlug = data.slug; + logger.info(ctx, `Team name updated`); + if (newSlug) { const nextPath = path.replace('[account]', newSlug);