diff --git a/adminfront/src/features/users/UserCreatePage.tsx b/adminfront/src/features/users/UserCreatePage.tsx index 01622ab3..14245071 100644 --- a/adminfront/src/features/users/UserCreatePage.tsx +++ b/adminfront/src/features/users/UserCreatePage.tsx @@ -409,6 +409,7 @@ function UserCreatePage() { tenantId: appointment.tenantId, tenantSlug: appointment.tenantSlug, tenantName: appointment.tenantName, + isPrimary: appointment.isOwner, isOwner: appointment.isOwner, jobTitle: appointment.jobTitle, position: appointment.position, @@ -424,6 +425,14 @@ function UserCreatePage() { return; } + const primary = appointments.find((a) => a.isOwner); + if (primary) { + metadata.primaryTenantId = primary.tenantId; + metadata.primaryTenantSlug = primary.tenantSlug; + metadata.primaryTenantName = primary.tenantName; + metadata.primaryTenantIsOwner = true; + } + payload.additionalAppointments = appointments; payload.metadata = { ...metadata, diff --git a/adminfront/src/features/users/UserDetailPage.tsx b/adminfront/src/features/users/UserDetailPage.tsx index f115e165..0e7b67ef 100644 --- a/adminfront/src/features/users/UserDetailPage.tsx +++ b/adminfront/src/features/users/UserDetailPage.tsx @@ -754,12 +754,26 @@ function UserDetailPage() { tenantId: appointment.tenantId, tenantSlug: appointment.tenantSlug, tenantName: appointment.tenantName, + isPrimary: appointment.isOwner, isOwner: appointment.isOwner, jobTitle: appointment.jobTitle, position: appointment.position, })); - payload.tenantSlug = undefined; + const primary = appointments.find((a) => a.isOwner); + if (primary) { + payload.tenantSlug = primary.tenantSlug; + payload.primaryTenantId = primary.tenantId; + payload.primaryTenantName = primary.tenantName; + payload.primaryTenantIsOwner = true; + metadata.primaryTenantId = primary.tenantId; + metadata.primaryTenantSlug = primary.tenantSlug; + metadata.primaryTenantName = primary.tenantName; + metadata.primaryTenantIsOwner = true; + } else { + payload.tenantSlug = undefined; + } + payload.department = undefined; payload.position = undefined; payload.jobTitle = undefined; diff --git a/adminfront/tests/users.spec.ts b/adminfront/tests/users.spec.ts index 4f2d859e..25ff96b5 100644 --- a/adminfront/tests/users.spec.ts +++ b/adminfront/tests/users.spec.ts @@ -766,7 +766,7 @@ test.describe("User Management", () => { tenantId: "03dbe16b-e47b-4f72-927b-782807d67a35", tenantSlug: "tech-planning", tenantName: "기술기획", - isOwner: false, + isOwner: true, jobTitle: "플랫폼 운영", position: "책임", }, @@ -774,7 +774,7 @@ test.describe("User Management", () => { tenantId: "hanmac-team-id", tenantSlug: "hanmac-team", tenantName: "한맥팀", - isOwner: true, + isOwner: false, jobTitle: "개발", position: "선임", },