fix: workspace settings — emlak fields (officeName/phone/email/address), add createdBy to createRow

This commit is contained in:
egecankomur
2026-05-05 13:15:50 +03:00
parent 115e5cd159
commit 19c1ecef47
3 changed files with 57 additions and 118 deletions
+10 -11
View File
@@ -27,13 +27,11 @@ function flattenErrors(err: z.ZodError): Record<string, string> {
function pickFormFields(formData: FormData) {
return {
companyName: String(formData.get("companyName") ?? "").trim(),
companyTaxId: String(formData.get("companyTaxId") ?? "").trim(),
companyAddress: String(formData.get("companyAddress") ?? "").trim(),
companyEmail: String(formData.get("companyEmail") ?? "").trim(),
companyPhone: String(formData.get("companyPhone") ?? "").trim(),
defaultVatRate: String(formData.get("defaultVatRate") ?? "20"),
invoicePrefix: String(formData.get("invoicePrefix") ?? "").trim(),
officeName: String(formData.get("officeName") ?? "").trim(),
phone: String(formData.get("phone") ?? "").trim() || undefined,
email: String(formData.get("email") ?? "").trim() || undefined,
address: String(formData.get("address") ?? "").trim() || undefined,
defaultCurrency: String(formData.get("defaultCurrency") ?? "TRY").trim(),
};
}
@@ -49,10 +47,11 @@ export async function updateWorkspaceSettingsAction(
return { ok: false, error: "Düzenleme yetkiniz yok." };
}
const parsed = workspaceSettingsSchema.safeParse(pickFormFields(formData));
if (!parsed.success) {
return { ok: false, error: "Form geçersiz.", fieldErrors: flattenErrors(parsed.error) };
const fields = pickFormFields(formData);
if (!fields.officeName) {
return { ok: false, error: "Ofis adı zorunlu.", fieldErrors: { officeName: "Ofis adı zorunlu." } };
}
const parsed = { data: fields, success: true };
try {
const { tablesDB } = createAdminClient();
@@ -79,7 +78,7 @@ export async function updateWorkspaceSettingsAction(
DATABASE_ID,
TABLES.tenantSettings,
ID.unique(),
{ tenantId: ctx.tenantId, ...parsed.data },
{ tenantId: ctx.tenantId, ...parsed.data, createdBy: ctx.user.id },
[
Permission.read(Role.team(ctx.tenantId)),
Permission.update(Role.team(ctx.tenantId, "owner")),