# Worksmobile Sync Policy ## 겸직 소속 비교 정책 Baron과 WORKS 모두 한 사용자가 여러 조직에 동시에 소속될 수 있다. 따라서 사용자 소속 비교는 배열 순서나 대표 조직 우선순위만으로 불일치를 판단하지 않는다. ### Membership Set 우선 사용자 소속 비교의 기본 단위는 `domainID + orgUnitID`로 구성한 membership set이다. - Baron expected organization과 WORKS remote organization의 membership set이 같으면 같은 소속으로 본다. - 같은 membership set 안에서 `organization.primary` 또는 `orgUnit.primary` 우선순위만 다른 경우는 보정 사유가 아니다. - GPDTDC와 본소속이 모두 있는 사용자도 같은 규칙을 적용한다. ### 보정 대상 다음 차이는 계속 보정 대상이다. - Baron에는 있는데 WORKS에 없는 orgUnit membership - WORKS에는 있는데 Baron에는 없는 orgUnit membership - 비교 대상 position 값 차이 - 비교 대상 manager 값 차이 ### 보정 제외 다음 차이는 사용자 `organization` update reason으로 만들지 않는다. - 같은 membership set에서 GPDTDC와 본소속의 primary 우선순위만 다른 경우 - 같은 membership set에서 WORKS의 조직 배열 순서만 다른 경우 ## Grade 비교 정책 직급(`grade`) 차이는 WORKS 사용자 보정 대상이다. 단, 비교 기준은 사용자 전역 `user.grade`가 아니라 테넌트 소속 정보에 연결된 `additionalAppointments[].grade`이다. - Baron의 테넌트 소속별 `grade`는 같은 WORKS `orgUnit` membership이 속한 organization level과 비교한다. - 같은 membership에서 Baron 테넌트 소속 `grade`와 WORKS organization level이 다르거나 WORKS level이 비어 있으면 `grade` update reason으로 본다. - GPDTDC 산하 테넌트의 연구원 직급과 그 외 테넌트의 일반 직급은 직급체계가 다르므로 서로 교차 비교하지 않는다. - GPDTDC와 본소속을 모두 가진 사용자는 각 membership의 테넌트 소속 `grade`와 해당 WORKS organization level만 각각 비교한다.