@vibexnpm/talkx 5.6.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -725,8 +725,6 @@ export interface ChatMessage {
725
725
  nickName?: string;
726
726
  /** 발신자 프로필 이미지 URL. */
727
727
  profileUrl?: string | null;
728
- /** 발신자의 프로젝트 스코프 사용자 ID. */
729
- projectUserId?: string;
730
728
  content: string | null;
731
729
  chatMessageType: ChatMessageTypeValue;
732
730
  chatType: string;
@@ -968,7 +966,16 @@ export interface LoginMember {
968
966
  email?: string | null;
969
967
  nickname?: string | null;
970
968
  profileUrl?: string | null;
969
+ /** 회사 역할 — 클라이언트가 파트너 화면 노출을 결정한다. 인가 근거는 아니다(서버가 재확인). */
970
+ companyRole: 'PARTNER' | 'MEMBER';
971
971
  preferredLanguage?: string | null;
972
+ /**
973
+ * 초기 비밀번호를 아직 안 바꿨는가 — `true` 면 **비밀번호 변경 화면으로 보내라**.
974
+ *
975
+ * 회원은 파트너가 정한 임시 비밀번호로 처음 들어오고, 파트너가 초기화하면 다시 이 상태가 된다.
976
+ * 로그인은 **성공** 한 것이다 — 실패로 다루면 사용자가 「비밀번호가 틀렸다」로 오해한다.
977
+ */
978
+ mustChangePassword: boolean;
972
979
  }
973
980
 
974
981
  /**
@@ -986,6 +993,39 @@ export interface LoginResult {
986
993
  user: LoginMember;
987
994
  }
988
995
 
996
+ /** 회사 조직도의 회원 — 초대 UI 에 필요한 것만. */
997
+ export interface DirectoryMember {
998
+ userId: string;
999
+ name?: string | null;
1000
+ profileUrl?: string | null;
1001
+ }
1002
+
1003
+ /** 조직도 노드. `parentId` 가 null 이면 최상위. */
1004
+ export interface DirectoryNode {
1005
+ orgNodeId: string;
1006
+ name: string;
1007
+ parentId?: string | null;
1008
+ sortOrder: number;
1009
+ /** 자손 포함 누적 인원 — 화면의 「개발팀 (2)」가 이 값. */
1010
+ memberCount: number;
1011
+ /** 이 노드 직속 인원 수. */
1012
+ directMemberCount: number;
1013
+ /** 이 노드 **직속** 회원. 누적 목록은 `children` 을 따라 모은다. */
1014
+ members: DirectoryMember[];
1015
+ children: DirectoryNode[];
1016
+ }
1017
+
1018
+ /** `getCompanyDirectory()` 응답. */
1019
+ export interface CompanyDirectory {
1020
+ tree: DirectoryNode[];
1021
+ /** 부서가 없는 회원 — 빠지면 초대 화면에서 그 사람을 찾을 수 없다. */
1022
+ unassignedMembers: DirectoryMember[];
1023
+ /** 활성 회원 총수(트리 + 미지정). */
1024
+ totalMemberCount: number;
1025
+ /** true 면 인원 **수** 는 정확하지만 **목록** 이 비어 있다 — 검색 기반 선택으로 넘어가야 한다. */
1026
+ membersOmitted: boolean;
1027
+ }
1028
+
989
1029
  /** 내 정보. 수정 응답에는 `accessToken` 이 함께 온다(name/profileUrl 이 토큰 claim). */
990
1030
  export interface MyProfile {
991
1031
  userId: string;
@@ -1000,6 +1040,13 @@ export interface MyProfile {
1000
1040
  preferredLanguage?: string | null;
1001
1041
  projectId: string;
1002
1042
  joinedAt?: string | null;
1043
+ /**
1044
+ * 초기 비밀번호를 아직 안 바꿨는가 — `true` 면 비밀번호 변경을 요구해야 한다.
1045
+ *
1046
+ * 로그인 응답에도 같은 값이 있다. 여기에도 있는 이유: 새로고침·딥링크로 로그인 응답을 거치지
1047
+ * 않고 들어오는 화면에서 그 요구가 조용히 사라지지 않게 하려는 것이다.
1048
+ */
1049
+ mustChangePassword: boolean;
1003
1050
  accessToken?: string;
1004
1051
  expiresIn?: number;
1005
1052
  }
@@ -1009,7 +1056,6 @@ export interface ParticipantResponse {
1009
1056
  userId: string;
1010
1057
  nickName?: string;
1011
1058
  profileUrl?: string | null;
1012
- projectUserId?: string;
1013
1059
  /**
1014
1060
  * 참가자 역할 — 서버 {@code ParticipantRole} enum 과 일치.
1015
1061
  * <ul>