diff --git a/src/lib/appwrite/tenant-actions.ts b/src/lib/appwrite/tenant-actions.ts index d44311e..fdf5630 100644 --- a/src/lib/appwrite/tenant-actions.ts +++ b/src/lib/appwrite/tenant-actions.ts @@ -39,7 +39,8 @@ export async function createWorkspaceAction( return { ok: false, error: "Şirket adı zorunlu." }; } - let teamId: string; + let teamId: string | null = null; + const admin = createAdminClient(); try { const session = await createSessionClient(); @@ -48,7 +49,6 @@ export async function createWorkspaceAction( const team = await session.teams.create(ID.unique(), companyName, ["owner"]); teamId = team.$id; - const admin = createAdminClient(); await admin.tablesDB.createRow( DATABASE_ID, TABLES.tenantSettings, @@ -58,7 +58,6 @@ export async function createWorkspaceAction( companyName, companyTaxId, companyPhone, - createdBy: user.$id, }, [ Permission.read(Role.team(teamId)), @@ -75,6 +74,13 @@ export async function createWorkspaceAction( await setActiveTenantCookie(teamId); } catch (e) { + if (teamId) { + try { + await admin.teams.delete(teamId); + } catch { + // best-effort cleanup; original error is what we surface + } + } return { ok: false, error: appwriteError(e) }; }