forked from baron/baron-sso
2.5 KiB
2.5 KiB
Issue #663: 한맥가족 사용자 테넌트 동기화 및 직무/직급 표시 정리
개요
adminfront 사용자 관리 화면과 orgfront 조직도/조직 선택기 사이의 한맥가족 사용자 표시 기준을 정리했다.
기존에는 사용자 상세 화면에서 metadata.hanmacFamily 값에 의존해 한맥가족 탭을 결정했다. 이 방식은 기존 사용자가 이미 한맥가족 테넌트 트리에 소속되어 있어도 metadata 플래그가 없으면 외부 기업 회원으로 분류될 수 있었다.
정책 기준
docs/organization-chart-policy.md에 따라 한맥가족 조직은COMPANY_GROUP아래의COMPANY/USER_GROUP테넌트 계층으로 판단한다.- 한맥가족 사용자의 직무/직급은 단일 사용자 필드보다 소속별
additionalAppointments를 우선한다. - orgfront 표시명은 직무가 있으면
이름(직무) 직급형태를 사용한다.
구현 요약
- adminfront
- 한맥가족 root tenant 및 subtree 판정 유틸을 추가했다.
- 기존 사용자의
tenant,joinedTenants,companyCode,tenantSlug를 기준으로 한맥가족 여부를 계산한다. - 사용자 상세 초기화 시 한맥가족 subtree 소속이면
metadata.hanmacFamily가 없어도 한맥가족 탭을 표시한다. - 한맥가족 저장 시 기존 단일
position/jobTitlepayload를 비우고additionalAppointments를 사용한다.
- orgfront
- 사용자 표시명 공통 유틸을 추가했다.
- 조직도와 조직 선택기 모두 동일한 표시명 로직을 사용한다.
metadata.additionalAppointments에 현재 테넌트와 매칭되는 직무/직급이 있으면 이를 우선 사용한다.
검증
- RED 확인
adminfront: 한맥가족 subtree 사용자 판정 유틸 부재로 unit test 실패 확인.orgfront: 조직도/조직 선택기에서이름(직무) 직급표시가 없어 Playwright test 실패 확인.
- GREEN 확인
adminfront:npm run test:unit -- src/features/users/orgChartPicker.test.tsadminfront:npm run test:unitadminfront:npm run buildorgfront:npm run lintorgfront:npm run buildorgfront:npx playwright test tests/orgchart-picker.spec.ts tests/orgchart-vector-render.spec.ts --project=chromium
남은 정책/운영 메모
- 이슈는
한맥가족사 조직도 반영마일스톤에 연결했다. - 해당 마일스톤은 Due Date가 비어 있다. 목표 Due Date를 정해 마일스톤에 반영하는 것이 좋다.