@tuturuuu/internal-api 0.9.0 → 0.10.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.
Files changed (118) hide show
  1. package/dist/account-delete.d.ts +25 -0
  2. package/dist/account-delete.d.ts.map +1 -0
  3. package/dist/account-delete.js +22 -0
  4. package/dist/ai.d.ts +2 -1
  5. package/dist/ai.d.ts.map +1 -1
  6. package/dist/api-keys.d.ts +66 -0
  7. package/dist/api-keys.d.ts.map +1 -0
  8. package/dist/api-keys.js +93 -0
  9. package/dist/auth.d.ts +5 -0
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +9 -0
  12. package/dist/backend.d.ts +556 -0
  13. package/dist/backend.d.ts.map +1 -0
  14. package/dist/backend.js +528 -0
  15. package/dist/calendar.d.ts +29 -0
  16. package/dist/calendar.d.ts.map +1 -1
  17. package/dist/calendar.js +18 -0
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +2 -0
  20. package/dist/cron.d.ts +16 -0
  21. package/dist/cron.d.ts.map +1 -0
  22. package/dist/cron.js +41 -0
  23. package/dist/documents.d.ts +38 -0
  24. package/dist/documents.d.ts.map +1 -0
  25. package/dist/documents.js +71 -0
  26. package/dist/education.d.ts +228 -12
  27. package/dist/education.d.ts.map +1 -1
  28. package/dist/education.js +229 -0
  29. package/dist/group-tags.d.ts +87 -0
  30. package/dist/group-tags.d.ts.map +1 -0
  31. package/dist/group-tags.js +116 -0
  32. package/dist/index.d.ts +24 -14
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +164 -14
  35. package/dist/infrastructure/abuse.d.ts +7 -0
  36. package/dist/infrastructure/abuse.d.ts.map +1 -0
  37. package/dist/infrastructure/abuse.js +39 -0
  38. package/dist/infrastructure/ai.d.ts +53 -0
  39. package/dist/infrastructure/ai.d.ts.map +1 -0
  40. package/dist/infrastructure/ai.js +331 -0
  41. package/dist/infrastructure/apps.d.ts +9 -0
  42. package/dist/infrastructure/apps.d.ts.map +1 -0
  43. package/dist/infrastructure/apps.js +49 -0
  44. package/dist/infrastructure/blocked-ips.d.ts +65 -0
  45. package/dist/infrastructure/blocked-ips.d.ts.map +1 -0
  46. package/dist/infrastructure/blocked-ips.js +56 -0
  47. package/dist/infrastructure/github-bot.d.ts +10 -0
  48. package/dist/infrastructure/github-bot.d.ts.map +1 -0
  49. package/dist/infrastructure/github-bot.js +73 -0
  50. package/dist/infrastructure/index.d.ts +11 -0
  51. package/dist/infrastructure/index.d.ts.map +1 -0
  52. package/dist/infrastructure/index.js +26 -0
  53. package/dist/infrastructure/mobile.d.ts +23 -0
  54. package/dist/infrastructure/mobile.d.ts.map +1 -0
  55. package/dist/infrastructure/mobile.js +183 -0
  56. package/dist/infrastructure/monitoring.d.ts +34 -0
  57. package/dist/infrastructure/monitoring.d.ts.map +1 -0
  58. package/dist/infrastructure/monitoring.js +356 -0
  59. package/dist/infrastructure/realtime.d.ts +55 -0
  60. package/dist/infrastructure/realtime.d.ts.map +1 -0
  61. package/dist/infrastructure/realtime.js +29 -0
  62. package/dist/infrastructure/types.d.ts +1652 -0
  63. package/dist/infrastructure/types.d.ts.map +1 -0
  64. package/dist/infrastructure/types.js +2 -0
  65. package/dist/infrastructure/workspace.d.ts +5 -0
  66. package/dist/infrastructure/workspace.d.ts.map +1 -0
  67. package/dist/infrastructure/workspace.js +15 -0
  68. package/dist/infrastructure.d.ts +10 -1725
  69. package/dist/infrastructure.d.ts.map +1 -1
  70. package/dist/infrastructure.js +24 -1019
  71. package/dist/inventory.d.ts +34 -0
  72. package/dist/inventory.d.ts.map +1 -1
  73. package/dist/inventory.js +7 -0
  74. package/dist/notifications.d.ts +90 -0
  75. package/dist/notifications.d.ts.map +1 -0
  76. package/dist/notifications.js +62 -0
  77. package/dist/promotions.d.ts +3 -0
  78. package/dist/promotions.d.ts.map +1 -1
  79. package/dist/promotions.js +8 -0
  80. package/dist/rate-limits.d.ts +18 -5
  81. package/dist/rate-limits.d.ts.map +1 -1
  82. package/dist/task-plans.d.ts +220 -0
  83. package/dist/task-plans.d.ts.map +1 -0
  84. package/dist/task-plans.js +153 -0
  85. package/dist/tasks.d.ts +200 -0
  86. package/dist/tasks.d.ts.map +1 -1
  87. package/dist/tasks.js +143 -0
  88. package/dist/teach.d.ts +67 -0
  89. package/dist/teach.d.ts.map +1 -1
  90. package/dist/teach.js +20 -0
  91. package/dist/templates.d.ts +2 -0
  92. package/dist/templates.d.ts.map +1 -1
  93. package/dist/templates.js +8 -0
  94. package/dist/tulearn.d.ts +46 -0
  95. package/dist/tulearn.d.ts.map +1 -1
  96. package/dist/tulearn.js +36 -0
  97. package/dist/user-group-attendance.d.ts +29 -0
  98. package/dist/user-group-attendance.d.ts.map +1 -0
  99. package/dist/user-group-attendance.js +38 -0
  100. package/dist/user-group-schedule.d.ts +193 -0
  101. package/dist/user-group-schedule.d.ts.map +1 -0
  102. package/dist/user-group-schedule.js +84 -0
  103. package/dist/user-groups.d.ts +18 -0
  104. package/dist/user-groups.d.ts.map +1 -1
  105. package/dist/user-groups.js +18 -0
  106. package/dist/users-server.d.ts +14 -0
  107. package/dist/users-server.d.ts.map +1 -0
  108. package/dist/users-server.js +37 -0
  109. package/dist/users.d.ts +64 -1
  110. package/dist/users.d.ts.map +1 -1
  111. package/dist/users.js +78 -6
  112. package/dist/workspace-config-ids.d.ts +6 -0
  113. package/dist/workspace-config-ids.d.ts.map +1 -1
  114. package/dist/workspace-config-ids.js +13 -1
  115. package/dist/workspace-configs.d.ts +4 -1
  116. package/dist/workspace-configs.d.ts.map +1 -1
  117. package/dist/workspace-configs.js +25 -1
  118. package/package.json +63 -8
package/dist/tulearn.js CHANGED
@@ -16,6 +16,10 @@ exports.getSharedCourseContent = getSharedCourseContent;
16
16
  exports.listSharedCourses = listSharedCourses;
17
17
  exports.submitTulearnQuizAnswer = submitTulearnQuizAnswer;
18
18
  exports.resetTulearnQuizSubmissions = resetTulearnQuizSubmissions;
19
+ exports.getTulearnTestAttempt = getTulearnTestAttempt;
20
+ exports.startTulearnTest = startTulearnTest;
21
+ exports.saveTulearnTestAnswer = saveTulearnTestAnswer;
22
+ exports.submitTulearnTest = submitTulearnTest;
19
23
  const client_1 = require("./client");
20
24
  function studentQuery(studentId) {
21
25
  return studentId ? { studentId } : undefined;
@@ -115,3 +119,35 @@ async function resetTulearnQuizSubmissions(workspaceId, courseId, moduleId, stud
115
119
  query: studentQuery(studentId),
116
120
  });
117
121
  }
122
+ async function getTulearnTestAttempt(workspaceId, courseId, testId, studentId, options) {
123
+ const client = (0, client_1.getInternalApiClient)(options);
124
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}/tests/${(0, client_1.encodePathSegment)(testId)}/attempt`, { cache: 'no-store', query: studentQuery(studentId) });
125
+ }
126
+ async function startTulearnTest(workspaceId, courseId, testId, studentId, options) {
127
+ const client = (0, client_1.getInternalApiClient)(options);
128
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}/tests/${(0, client_1.encodePathSegment)(testId)}/start`, {
129
+ method: 'POST',
130
+ cache: 'no-store',
131
+ query: studentQuery(studentId),
132
+ });
133
+ }
134
+ async function saveTulearnTestAnswer(workspaceId, courseId, testId, payload, studentId, options) {
135
+ const client = (0, client_1.getInternalApiClient)(options);
136
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}/tests/${(0, client_1.encodePathSegment)(testId)}/save-answer`, {
137
+ method: 'POST',
138
+ headers: { 'Content-Type': 'application/json' },
139
+ body: JSON.stringify(payload),
140
+ cache: 'no-store',
141
+ query: studentQuery(studentId),
142
+ });
143
+ }
144
+ async function submitTulearnTest(workspaceId, courseId, testId, payload, studentId, options) {
145
+ const client = (0, client_1.getInternalApiClient)(options);
146
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}/tests/${(0, client_1.encodePathSegment)(testId)}/submit`, {
147
+ method: 'POST',
148
+ headers: { 'Content-Type': 'application/json' },
149
+ body: JSON.stringify(payload),
150
+ cache: 'no-store',
151
+ query: studentQuery(studentId),
152
+ });
153
+ }
@@ -0,0 +1,29 @@
1
+ import { type InternalApiClientOptions } from './client';
2
+ import { type ListWorkspaceUserGroupMembersParams, type ListWorkspaceUserGroupMembersResponse } from './user-group-schedule';
3
+ export type WorkspaceUserGroupAttendanceStatus = 'ABSENT' | 'LATE' | 'NONE' | 'PRESENT';
4
+ export interface WorkspaceUserGroupAttendanceRecord {
5
+ id: string;
6
+ notes: string | null;
7
+ session_id: string | null;
8
+ status: WorkspaceUserGroupAttendanceStatus | string;
9
+ user_id: string;
10
+ }
11
+ export interface ListWorkspaceUserGroupAttendanceParams {
12
+ date: string;
13
+ sessionId?: string | null;
14
+ }
15
+ export interface SaveWorkspaceUserGroupAttendanceEntry {
16
+ date: string;
17
+ notes?: string | null;
18
+ session_id?: string | null;
19
+ status: WorkspaceUserGroupAttendanceStatus;
20
+ user_id: string;
21
+ }
22
+ export interface SaveWorkspaceUserGroupAttendanceResponse {
23
+ message: string;
24
+ }
25
+ export declare function listWorkspaceUserGroupAttendanceMembers(workspaceId: string, groupId: string, params?: ListWorkspaceUserGroupMembersParams, options?: InternalApiClientOptions): Promise<ListWorkspaceUserGroupMembersResponse>;
26
+ export declare function listWorkspaceUserGroupAttendance(workspaceId: string, groupId: string, params: ListWorkspaceUserGroupAttendanceParams, options?: InternalApiClientOptions): Promise<WorkspaceUserGroupAttendanceRecord[]>;
27
+ export declare function saveWorkspaceUserGroupAttendance(workspaceId: string, groupId: string, entries: SaveWorkspaceUserGroupAttendanceEntry[], options?: InternalApiClientOptions): Promise<SaveWorkspaceUserGroupAttendanceResponse>;
28
+ export declare function getWorkspaceUserGroupAttendanceShowManagers(workspaceId: string, options?: InternalApiClientOptions): Promise<boolean>;
29
+ //# sourceMappingURL=user-group-attendance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-group-attendance.d.ts","sourceRoot":"","sources":["../src/user-group-attendance.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,mCAAmC,EACxC,KAAK,qCAAqC,EAE3C,MAAM,uBAAuB,CAAC;AAM/B,MAAM,MAAM,kCAAkC,GAC1C,QAAQ,GACR,MAAM,GACN,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,kCAAkC,GAAG,MAAM,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,kCAAkC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wCAAwC;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAgB,uCAAuC,CACrD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,mCAAwC,EAChD,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,qCAAqC,CAAC,CAEhD;AAED,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,sCAAsC,EAC9C,OAAO,CAAC,EAAE,wBAAwB,iDAcnC;AAED,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qCAAqC,EAAE,EAChD,OAAO,CAAC,EAAE,wBAAwB,qDAanC;AAED,wBAAsB,2CAA2C,CAC/D,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,wBAAwB,oBASnC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listWorkspaceUserGroupAttendanceMembers = listWorkspaceUserGroupAttendanceMembers;
4
+ exports.listWorkspaceUserGroupAttendance = listWorkspaceUserGroupAttendance;
5
+ exports.saveWorkspaceUserGroupAttendance = saveWorkspaceUserGroupAttendance;
6
+ exports.getWorkspaceUserGroupAttendanceShowManagers = getWorkspaceUserGroupAttendanceShowManagers;
7
+ const client_1 = require("./client");
8
+ const user_group_schedule_1 = require("./user-group-schedule");
9
+ const workspace_configs_1 = require("./workspace-configs");
10
+ function userGroupPath(workspaceId, groupId) {
11
+ return `/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/${(0, client_1.encodePathSegment)(groupId)}`;
12
+ }
13
+ function listWorkspaceUserGroupAttendanceMembers(workspaceId, groupId, params = {}, options) {
14
+ return (0, user_group_schedule_1.listWorkspaceUserGroupMembers)(workspaceId, groupId, params, options);
15
+ }
16
+ function listWorkspaceUserGroupAttendance(workspaceId, groupId, params, options) {
17
+ const client = (0, client_1.getInternalApiClient)(options);
18
+ return client.json(`${userGroupPath(workspaceId, groupId)}/attendance`, {
19
+ cache: 'no-store',
20
+ query: {
21
+ date: params.date,
22
+ sessionId: params.sessionId,
23
+ },
24
+ });
25
+ }
26
+ function saveWorkspaceUserGroupAttendance(workspaceId, groupId, entries, options) {
27
+ const client = (0, client_1.getInternalApiClient)(options);
28
+ return client.json(`${userGroupPath(workspaceId, groupId)}/attendance`, {
29
+ body: JSON.stringify(entries),
30
+ cache: 'no-store',
31
+ headers: { 'Content-Type': 'application/json' },
32
+ method: 'POST',
33
+ });
34
+ }
35
+ async function getWorkspaceUserGroupAttendanceShowManagers(workspaceId, options) {
36
+ const config = await (0, workspace_configs_1.getOptionalWorkspaceConfig)(workspaceId, workspace_configs_1.ATTENDANCE_SHOW_MANAGERS_CONFIG_ID, options);
37
+ return config?.value?.trim().toLowerCase() !== 'false';
38
+ }
@@ -0,0 +1,193 @@
1
+ import { type InternalApiClientOptions, type InternalApiQuery } from './client';
2
+ export interface WorkspaceUserGroupSessionTag {
3
+ color: string | null;
4
+ id: string;
5
+ name: string;
6
+ }
7
+ export interface WorkspaceUserGroupSessionFile {
8
+ id: string;
9
+ name: string | null;
10
+ storagePath: string;
11
+ }
12
+ export type WorkspaceUserGroupSessionDescriptionJson = {
13
+ [key: string]: unknown;
14
+ attrs?: Record<string, unknown>;
15
+ content?: WorkspaceUserGroupSessionDescriptionJson[];
16
+ marks?: {
17
+ attrs?: Record<string, unknown>;
18
+ type: string;
19
+ }[];
20
+ text?: string;
21
+ type?: string;
22
+ };
23
+ export interface WorkspaceUserGroupSession {
24
+ description: string | null;
25
+ descriptionJson: WorkspaceUserGroupSessionDescriptionJson | null;
26
+ endTimezone: string;
27
+ endsAt: string;
28
+ files: WorkspaceUserGroupSessionFile[];
29
+ groupId: string;
30
+ groupName: string | null;
31
+ id: string;
32
+ recurrenceInstanceDate: string | null;
33
+ seriesId: string | null;
34
+ source: string | null;
35
+ startTimezone: string;
36
+ startsAt: string;
37
+ status: 'cancelled' | 'scheduled';
38
+ tags: WorkspaceUserGroupSessionTag[];
39
+ title: string | null;
40
+ }
41
+ export interface WorkspaceUserGroupMissingSessionOccurrence {
42
+ date: string;
43
+ description: string | null;
44
+ descriptionJson: WorkspaceUserGroupSessionDescriptionJson | null;
45
+ endTimezone: string;
46
+ endsAt: string;
47
+ groupId: string;
48
+ groupName: string | null;
49
+ seriesId: string;
50
+ startTimezone: string;
51
+ startsAt: string;
52
+ title: string | null;
53
+ }
54
+ export interface WorkspaceUserGroupScheduleTag {
55
+ color: string | null;
56
+ id: string;
57
+ name: string;
58
+ }
59
+ export interface WorkspaceUserGroupScheduleGroup {
60
+ id: string;
61
+ name: string;
62
+ }
63
+ export interface WorkspaceUserGroupSchedulePattern {
64
+ daysOfWeek: number[];
65
+ endTime: string;
66
+ exceptionCount: number;
67
+ expectedCount: number;
68
+ occurrenceCount: number;
69
+ startTime: string;
70
+ }
71
+ export interface WorkspaceUserGroupScheduleGroupSummary {
72
+ exceptionCount: number;
73
+ groupId: string;
74
+ managerCount: number;
75
+ nonManagerCount: number;
76
+ patterns: WorkspaceUserGroupSchedulePattern[];
77
+ upcomingCount: number;
78
+ }
79
+ export interface WorkspaceUserGroupRosterMember {
80
+ avatar_url?: string | null;
81
+ display_name?: string | null;
82
+ email?: string | null;
83
+ full_name?: string | null;
84
+ id: string;
85
+ phone?: string | null;
86
+ role?: string | null;
87
+ }
88
+ export interface ListWorkspaceUserGroupSessionsParams extends InternalApiQuery {
89
+ from?: string;
90
+ groupId?: string;
91
+ includeMissing?: boolean;
92
+ to?: string;
93
+ }
94
+ export interface ListWorkspaceUserGroupSessionsResponse {
95
+ data: WorkspaceUserGroupSession[];
96
+ groups: WorkspaceUserGroupScheduleGroup[];
97
+ missing?: WorkspaceUserGroupMissingSessionOccurrence[];
98
+ tags: WorkspaceUserGroupScheduleTag[];
99
+ }
100
+ export interface ListWorkspaceUserGroupScheduleGroupSummariesParams {
101
+ from: string;
102
+ groupIds: string[];
103
+ timezone: string;
104
+ }
105
+ export interface ListWorkspaceUserGroupScheduleGroupSummariesResponse {
106
+ data: WorkspaceUserGroupScheduleGroupSummary[];
107
+ }
108
+ export interface ListWorkspaceUserGroupMembersParams extends InternalApiQuery {
109
+ limit?: number;
110
+ offset?: number;
111
+ }
112
+ export interface ListWorkspaceUserGroupMembersResponse {
113
+ count?: number;
114
+ data: WorkspaceUserGroupRosterMember[];
115
+ next?: number;
116
+ }
117
+ export interface WorkspaceUserGroupSessionFilePayload {
118
+ name?: string | null;
119
+ storagePath: string;
120
+ }
121
+ export interface WorkspaceUserGroupSessionRecurrencePayload {
122
+ daysOfWeek: number[];
123
+ intervalWeeks?: number;
124
+ untilDate?: string | null;
125
+ }
126
+ export interface CreateWorkspaceUserGroupSessionPayload {
127
+ description?: string | null;
128
+ descriptionJson?: WorkspaceUserGroupSessionDescriptionJson | null;
129
+ endTimezone: string;
130
+ endsAt: string;
131
+ files?: WorkspaceUserGroupSessionFilePayload[];
132
+ groupId: string;
133
+ recurrence?: WorkspaceUserGroupSessionRecurrencePayload | null;
134
+ startTimezone: string;
135
+ startsAt: string;
136
+ tagIds?: string[];
137
+ tagNames?: string[];
138
+ title?: string | null;
139
+ }
140
+ export interface UpdateWorkspaceUserGroupSessionPayload {
141
+ description?: string | null;
142
+ descriptionJson?: WorkspaceUserGroupSessionDescriptionJson | null;
143
+ endTimezone?: string;
144
+ endsAt?: string;
145
+ files?: WorkspaceUserGroupSessionFilePayload[];
146
+ scope?: 'future' | 'once';
147
+ startTimezone?: string;
148
+ startsAt?: string;
149
+ tagIds?: string[];
150
+ tagNames?: string[];
151
+ title?: string | null;
152
+ }
153
+ export interface WorkspaceUserGroupSessionMutationResponse {
154
+ data?: WorkspaceUserGroupSession | WorkspaceUserGroupSession[];
155
+ message: string;
156
+ }
157
+ export interface RepairWorkspaceUserGroupSessionOccurrencePayload {
158
+ date: string;
159
+ groupId: string;
160
+ seriesId: string;
161
+ }
162
+ export interface RepairWorkspaceUserGroupSessionOccurrenceResponse {
163
+ data?: WorkspaceUserGroupSession;
164
+ message: string;
165
+ }
166
+ export interface ReconcileWorkspaceUserGroupSessionResponse {
167
+ data?: WorkspaceUserGroupSession;
168
+ message: string;
169
+ }
170
+ export type WorkspaceUserGroupSessionReconciliationMode = 'convert_weekly' | 'exact' | 'snap' | 'weekly';
171
+ export interface ReconcileWorkspaceUserGroupSessionPayload {
172
+ mode?: WorkspaceUserGroupSessionReconciliationMode;
173
+ }
174
+ export interface WorkspaceUserGroupSessionReconciliationPreview {
175
+ date: string;
176
+ mode: WorkspaceUserGroupSessionReconciliationMode;
177
+ occurrence: WorkspaceUserGroupMissingSessionOccurrence;
178
+ seriesId: string;
179
+ session: WorkspaceUserGroupSession;
180
+ }
181
+ export interface PreviewWorkspaceUserGroupSessionReconciliationResponse {
182
+ data?: WorkspaceUserGroupSessionReconciliationPreview;
183
+ message: string;
184
+ }
185
+ export declare function listWorkspaceUserGroupSessions(workspaceId: string, params?: ListWorkspaceUserGroupSessionsParams, options?: InternalApiClientOptions): Promise<ListWorkspaceUserGroupSessionsResponse>;
186
+ export declare function listWorkspaceUserGroupScheduleGroupSummaries(workspaceId: string, params: ListWorkspaceUserGroupScheduleGroupSummariesParams, options?: InternalApiClientOptions): Promise<ListWorkspaceUserGroupScheduleGroupSummariesResponse>;
187
+ export declare function listWorkspaceUserGroupMembers(workspaceId: string, groupId: string, params?: ListWorkspaceUserGroupMembersParams, options?: InternalApiClientOptions): Promise<ListWorkspaceUserGroupMembersResponse>;
188
+ export declare function createWorkspaceUserGroupSession(workspaceId: string, payload: CreateWorkspaceUserGroupSessionPayload, options?: InternalApiClientOptions): Promise<WorkspaceUserGroupSessionMutationResponse>;
189
+ export declare function updateWorkspaceUserGroupSession(workspaceId: string, sessionId: string, payload: UpdateWorkspaceUserGroupSessionPayload, options?: InternalApiClientOptions): Promise<WorkspaceUserGroupSessionMutationResponse>;
190
+ export declare function repairWorkspaceUserGroupSessionOccurrence(workspaceId: string, payload: RepairWorkspaceUserGroupSessionOccurrencePayload, options?: InternalApiClientOptions): Promise<RepairWorkspaceUserGroupSessionOccurrenceResponse>;
191
+ export declare function reconcileWorkspaceUserGroupSession(workspaceId: string, sessionId: string, payload?: ReconcileWorkspaceUserGroupSessionPayload, options?: InternalApiClientOptions): Promise<ReconcileWorkspaceUserGroupSessionResponse>;
192
+ export declare function previewWorkspaceUserGroupSessionReconciliation(workspaceId: string, sessionId: string, options?: InternalApiClientOptions): Promise<PreviewWorkspaceUserGroupSessionReconciliationResponse>;
193
+ //# sourceMappingURL=user-group-schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-group-schedule.d.ts","sourceRoot":"","sources":["../src/user-group-schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listWorkspaceUserGroupSessions = listWorkspaceUserGroupSessions;
4
+ exports.listWorkspaceUserGroupScheduleGroupSummaries = listWorkspaceUserGroupScheduleGroupSummaries;
5
+ exports.listWorkspaceUserGroupMembers = listWorkspaceUserGroupMembers;
6
+ exports.createWorkspaceUserGroupSession = createWorkspaceUserGroupSession;
7
+ exports.updateWorkspaceUserGroupSession = updateWorkspaceUserGroupSession;
8
+ exports.repairWorkspaceUserGroupSessionOccurrence = repairWorkspaceUserGroupSessionOccurrence;
9
+ exports.reconcileWorkspaceUserGroupSession = reconcileWorkspaceUserGroupSession;
10
+ exports.previewWorkspaceUserGroupSessionReconciliation = previewWorkspaceUserGroupSessionReconciliation;
11
+ const client_1 = require("./client");
12
+ function basePath(workspaceId) {
13
+ return `/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/sessions`;
14
+ }
15
+ function listWorkspaceUserGroupSessions(workspaceId, params = {}, options) {
16
+ const client = (0, client_1.getInternalApiClient)(options);
17
+ return client.json(basePath(workspaceId), {
18
+ cache: 'no-store',
19
+ query: params,
20
+ });
21
+ }
22
+ function listWorkspaceUserGroupScheduleGroupSummaries(workspaceId, params, options) {
23
+ const client = (0, client_1.getInternalApiClient)(options);
24
+ return client.json(`${basePath(workspaceId)}/group-summaries`, {
25
+ cache: 'no-store',
26
+ query: {
27
+ from: params.from,
28
+ groupIds: params.groupIds.join(','),
29
+ timezone: params.timezone,
30
+ },
31
+ });
32
+ }
33
+ function listWorkspaceUserGroupMembers(workspaceId, groupId, params = {}, options) {
34
+ const client = (0, client_1.getInternalApiClient)(options);
35
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/${(0, client_1.encodePathSegment)(groupId)}/members`, {
36
+ cache: 'no-store',
37
+ query: {
38
+ limit: params.limit,
39
+ offset: params.offset,
40
+ },
41
+ });
42
+ }
43
+ function createWorkspaceUserGroupSession(workspaceId, payload, options) {
44
+ const client = (0, client_1.getInternalApiClient)(options);
45
+ return client.json(basePath(workspaceId), {
46
+ body: JSON.stringify(payload),
47
+ cache: 'no-store',
48
+ headers: { 'Content-Type': 'application/json' },
49
+ method: 'POST',
50
+ });
51
+ }
52
+ function updateWorkspaceUserGroupSession(workspaceId, sessionId, payload, options) {
53
+ const client = (0, client_1.getInternalApiClient)(options);
54
+ return client.json(`${basePath(workspaceId)}/${(0, client_1.encodePathSegment)(sessionId)}`, {
55
+ body: JSON.stringify(payload),
56
+ cache: 'no-store',
57
+ headers: { 'Content-Type': 'application/json' },
58
+ method: 'PUT',
59
+ });
60
+ }
61
+ function repairWorkspaceUserGroupSessionOccurrence(workspaceId, payload, options) {
62
+ const client = (0, client_1.getInternalApiClient)(options);
63
+ return client.json(`${basePath(workspaceId)}/occurrences`, {
64
+ body: JSON.stringify(payload),
65
+ cache: 'no-store',
66
+ headers: { 'Content-Type': 'application/json' },
67
+ method: 'POST',
68
+ });
69
+ }
70
+ function reconcileWorkspaceUserGroupSession(workspaceId, sessionId, payload = {}, options) {
71
+ const client = (0, client_1.getInternalApiClient)(options);
72
+ return client.json(`${basePath(workspaceId)}/${(0, client_1.encodePathSegment)(sessionId)}/reconcile`, {
73
+ body: JSON.stringify(payload),
74
+ cache: 'no-store',
75
+ headers: { 'Content-Type': 'application/json' },
76
+ method: 'POST',
77
+ });
78
+ }
79
+ function previewWorkspaceUserGroupSessionReconciliation(workspaceId, sessionId, options) {
80
+ const client = (0, client_1.getInternalApiClient)(options);
81
+ return client.json(`${basePath(workspaceId)}/${(0, client_1.encodePathSegment)(sessionId)}/reconcile`, {
82
+ cache: 'no-store',
83
+ });
84
+ }
@@ -31,5 +31,23 @@ export declare function getNextWorkspaceUserGroupsPageParam<TPage extends {
31
31
  export declare function listWorkspaceUserGroups(workspaceId: string, params?: WorkspaceUserGroupsParams, options?: InternalApiClientOptions): Promise<WorkspaceUserGroupsPageResponse>;
32
32
  export declare function listAllWorkspaceUserGroups(workspaceId: string, params?: Omit<WorkspaceUserGroupsParams, 'page' | 'pageSize'>, options?: InternalApiClientOptions): Promise<UserGroup[]>;
33
33
  export declare function listWorkspaceUserGroupsByIds(workspaceId: string, groupIds: string[], options?: InternalApiClientOptions): Promise<UserGroup[]>;
34
+ export interface UpdateWorkspaceUserGroupPayload {
35
+ name?: string;
36
+ starting_date?: string | null;
37
+ ending_date?: string | null;
38
+ notes?: string | null;
39
+ archived?: boolean;
40
+ }
41
+ export type UpdateWorkspaceUserGroupResponse = {
42
+ data?: UserGroup;
43
+ message?: string;
44
+ };
45
+ /**
46
+ * Partial update of a workspace user group via
47
+ * `PUT /api/v1/workspaces/:wsId/user-groups/:groupId`. The endpoint validates
48
+ * with its own schema and enforces `update_user_groups`; this forwards the
49
+ * authenticated caller's request (RLS-respecting) and returns the updated row.
50
+ */
51
+ export declare function updateWorkspaceUserGroup(workspaceId: string, groupId: string, payload: UpdateWorkspaceUserGroupPayload, options?: InternalApiClientOptions): Promise<UpdateWorkspaceUserGroupResponse>;
34
52
  export declare function removeWorkspaceUserGroupIndicatorCategory(workspaceId: string, groupId: string, categoryId: string, options?: InternalApiClientOptions): Promise<RemoveWorkspaceUserGroupIndicatorCategoryResponse>;
35
53
  //# sourceMappingURL=user-groups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-groups.d.ts","sourceRoot":"","sources":["../src/user-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,2BAA2B,GAAG;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iDAAiD,GAAG;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAWF,wBAAgB,mCAAmC,CACjD,KAAK,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAClE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAenC;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,yBAA8B,EACtC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,+BAA+B,CAAC,CAgC1C;AAED,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,UAAU,CAAM,EACjE,OAAO,CAAC,EAAE,wBAAwB,wBA6BnC;AAED,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,wBAAwB,wBAkBnC;AAED,wBAAgB,yCAAyC,CACvD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,wBAAwB,8DAOnC"}
1
+ {"version":3,"file":"user-groups.d.ts","sourceRoot":"","sources":["../src/user-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,2BAA2B,GAAG;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iDAAiD,GAAG;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAWF,wBAAgB,mCAAmC,CACjD,KAAK,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAClE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAenC;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,yBAA8B,EACtC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,+BAA+B,CAAC,CAgC1C;AAED,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,UAAU,CAAM,EACjE,OAAO,CAAC,EAAE,wBAAwB,wBA6BnC;AAED,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,wBAAwB,wBAkBnC;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,wBAAwB,6CAcnC;AAED,wBAAgB,yCAAyC,CACvD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,wBAAwB,8DAOnC"}
@@ -4,6 +4,7 @@ exports.getNextWorkspaceUserGroupsPageParam = getNextWorkspaceUserGroupsPagePara
4
4
  exports.listWorkspaceUserGroups = listWorkspaceUserGroups;
5
5
  exports.listAllWorkspaceUserGroups = listAllWorkspaceUserGroups;
6
6
  exports.listWorkspaceUserGroupsByIds = listWorkspaceUserGroupsByIds;
7
+ exports.updateWorkspaceUserGroup = updateWorkspaceUserGroup;
7
8
  exports.removeWorkspaceUserGroupIndicatorCategory = removeWorkspaceUserGroupIndicatorCategory;
8
9
  const client_1 = require("./client");
9
10
  const DEFAULT_PAGE_SIZE = 50;
@@ -78,6 +79,23 @@ async function listWorkspaceUserGroupsByIds(workspaceId, groupIds, options) {
78
79
  }, options);
79
80
  return payload.data;
80
81
  }
82
+ /**
83
+ * Partial update of a workspace user group via
84
+ * `PUT /api/v1/workspaces/:wsId/user-groups/:groupId`. The endpoint validates
85
+ * with its own schema and enforces `update_user_groups`; this forwards the
86
+ * authenticated caller's request (RLS-respecting) and returns the updated row.
87
+ */
88
+ function updateWorkspaceUserGroup(workspaceId, groupId, payload, options) {
89
+ const client = (0, client_1.getInternalApiClient)(options);
90
+ return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/${(0, client_1.encodePathSegment)(groupId)}`, {
91
+ cache: 'no-store',
92
+ method: 'PUT',
93
+ headers: {
94
+ 'Content-Type': 'application/json',
95
+ },
96
+ body: JSON.stringify(payload),
97
+ });
98
+ }
81
99
  function removeWorkspaceUserGroupIndicatorCategory(workspaceId, groupId, categoryId, options) {
82
100
  const client = (0, client_1.getInternalApiClient)(options);
83
101
  return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/${(0, client_1.encodePathSegment)(groupId)}/indicators/categories/${(0, client_1.encodePathSegment)(categoryId)}`, { cache: 'no-store', method: 'DELETE' });
@@ -0,0 +1,14 @@
1
+ export type ServerHeaderAccessor = Pick<Headers, 'get'>;
2
+ export type CommunityUserProfile = {
3
+ avatar_url: string | null;
4
+ created_at: string | null;
5
+ display_name: string | null;
6
+ handle: string | null;
7
+ id: string;
8
+ };
9
+ /**
10
+ * Reads the legacy community profile row through the caller's forwarded
11
+ * Supabase auth, preserving the RLS boundary used by the Next.js page.
12
+ */
13
+ export declare function getCommunityUserProfileByHandle(handle: string, requestHeaders: ServerHeaderAccessor): Promise<CommunityUserProfile | null>;
14
+ //# sourceMappingURL=users-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-server.d.ts","sourceRoot":"","sources":["../src/users-server.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAkBF;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCommunityUserProfileByHandle = getCommunityUserProfileByHandle;
4
+ const server_1 = require("@tuturuuu/supabase/request/server");
5
+ function isCommunityUserProfile(value) {
6
+ if (typeof value !== 'object' || value === null) {
7
+ return false;
8
+ }
9
+ const row = value;
10
+ return (typeof row.id === 'string' &&
11
+ (typeof row.handle === 'string' || row.handle === null) &&
12
+ (typeof row.display_name === 'string' || row.display_name === null) &&
13
+ (typeof row.avatar_url === 'string' || row.avatar_url === null) &&
14
+ (typeof row.created_at === 'string' || row.created_at === null));
15
+ }
16
+ /**
17
+ * Reads the legacy community profile row through the caller's forwarded
18
+ * Supabase auth, preserving the RLS boundary used by the Next.js page.
19
+ */
20
+ async function getCommunityUserProfileByHandle(handle, requestHeaders) {
21
+ const normalizedHandle = handle.trim();
22
+ if (!normalizedHandle) {
23
+ return null;
24
+ }
25
+ const supabase = await (0, server_1.createRequestClient)({
26
+ headers: requestHeaders,
27
+ });
28
+ const { data: profile, error } = await supabase
29
+ .from('users')
30
+ .select('id,handle,display_name,avatar_url,created_at')
31
+ .eq('handle', normalizedHandle)
32
+ .maybeSingle();
33
+ if (error) {
34
+ throw error;
35
+ }
36
+ return isCommunityUserProfile(profile) ? profile : null;
37
+ }
package/dist/users.d.ts CHANGED
@@ -1,4 +1,22 @@
1
+ import type { PostApprovalItem, PostLogEntry, ReportApprovalItem, ReportLogEntry, WorkspaceUser } from '@tuturuuu/types/db';
1
2
  import { type InternalApiClientOptions } from './client';
3
+ export interface CurrentWorkspaceUserLink {
4
+ platform_user_id: string;
5
+ virtual_user_id: string;
6
+ ws_id: string;
7
+ created_at: string;
8
+ workspace_users?: WorkspaceUser;
9
+ }
10
+ export interface CurrentWorkspaceUserResponse {
11
+ data: CurrentWorkspaceUserLink;
12
+ }
13
+ /**
14
+ * Reads the current authenticated caller's workspace-user link for `wsId` via
15
+ * `GET /api/v1/workspaces/:wsId/users/me` (forwarded auth). Provides the
16
+ * `virtual_user_id` user-scoped dashboard pages need without a direct Supabase
17
+ * read. Returns `null` when the caller has no link (404).
18
+ */
19
+ export declare function getCurrentWorkspaceUserLink(workspaceId: string, options?: InternalApiClientOptions): Promise<CurrentWorkspaceUserLink | null>;
2
20
  type UserConfigResponse = {
3
21
  value: string | null;
4
22
  };
@@ -6,6 +24,12 @@ type UserWorkspaceConfigResponse = {
6
24
  value: string | null;
7
25
  };
8
26
  export declare const SHOW_VERSION_BADGE_CONFIG_ID = "SHOW_VERSION_BADGE";
27
+ export declare const TASK_DEFAULT_BOARD_ID_CONFIG_ID = "TASK_DEFAULT_BOARD_ID";
28
+ export declare const TASK_BOARD_PINNED_SPECIAL_LISTS_CONFIG_ID = "TASK_BOARD_PINNED_SPECIAL_LISTS";
29
+ export declare const TASK_LAST_BOARD_VIEW_CONFIG_ID = "TASK_LAST_BOARD_VIEW";
30
+ export declare const TASK_REMEMBER_LAST_BOARD_CONFIG_ID = "TASK_REMEMBER_LAST_BOARD";
31
+ export declare function isTaskRememberLastBoardEnabled(value: string | null | undefined): boolean;
32
+ export declare function serializeTaskRememberLastBoard(enabled: boolean): "false" | "true";
9
33
  export type RootNavigationTarget = 'workspace_home' | 'tasks' | 'calendar' | 'finance';
10
34
  export type RootNavigationConfig = {
11
35
  target: RootNavigationTarget;
@@ -174,6 +198,7 @@ export declare function listWorkspaceBasicUsers(workspaceId: string, { from, lim
174
198
  limit?: number;
175
199
  q?: string;
176
200
  }, options?: InternalApiClientOptions): Promise<ListWorkspaceBasicUsersResponse>;
201
+ export declare function getWorkspaceUser(workspaceId: string, userId: string, options?: InternalApiClientOptions): Promise<WorkspaceBasicUserRecord>;
177
202
  export declare function listWorkspaceUserReferralCandidates(workspaceId: string, userId: string, { q, }?: {
178
203
  q?: string;
179
204
  }, options?: InternalApiClientOptions): Promise<WorkspaceReferralUserRecord[]>;
@@ -184,6 +209,44 @@ export declare function createWorkspaceUserReferral(workspaceId: string, userId:
184
209
  export declare function deleteWorkspaceUserReferral(workspaceId: string, userId: string, referredUserId: string, options?: InternalApiClientOptions): Promise<{
185
210
  message: string;
186
211
  }>;
212
+ export type WorkspaceUserApprovalKind = 'reports' | 'posts';
213
+ export type WorkspaceUserApprovalStatusFilter = 'all' | 'pending' | 'approved' | 'rejected';
214
+ export interface ListWorkspaceUserApprovalsParams {
215
+ kind: WorkspaceUserApprovalKind;
216
+ status?: WorkspaceUserApprovalStatusFilter;
217
+ page?: number;
218
+ limit?: number;
219
+ groupId?: string;
220
+ userId?: string;
221
+ creatorId?: string;
222
+ }
223
+ export interface ListWorkspaceUserApprovalsResponse<TItem = ReportApprovalItem | PostApprovalItem> {
224
+ items: TItem[];
225
+ totalCount: number;
226
+ totalPages: number;
227
+ }
228
+ export interface UpdateWorkspaceUserApprovalPayload {
229
+ action: 'approve' | 'reject' | 'approveAll' | 'unapprove';
230
+ kind: WorkspaceUserApprovalKind;
231
+ itemId?: string;
232
+ reason?: string;
233
+ filters?: {
234
+ groupId?: string;
235
+ userId?: string;
236
+ creatorId?: string;
237
+ };
238
+ }
239
+ export interface UpdateWorkspaceUserApprovalResponse {
240
+ success: boolean;
241
+ }
242
+ export interface ListWorkspaceUserApprovalLogsParams {
243
+ kind: WorkspaceUserApprovalKind;
244
+ reportId?: string;
245
+ postId?: string;
246
+ }
247
+ export declare function listWorkspaceUserApprovals<TItem = ReportApprovalItem | PostApprovalItem>(workspaceId: string, params: ListWorkspaceUserApprovalsParams, options?: InternalApiClientOptions): Promise<ListWorkspaceUserApprovalsResponse<TItem>>;
248
+ export declare function updateWorkspaceUserApproval(workspaceId: string, payload: UpdateWorkspaceUserApprovalPayload, options?: InternalApiClientOptions): Promise<UpdateWorkspaceUserApprovalResponse>;
249
+ export declare function listWorkspaceUserApprovalLogs<TLog = ReportLogEntry | PostLogEntry>(workspaceId: string, params: ListWorkspaceUserApprovalLogsParams, options?: InternalApiClientOptions): Promise<TLog | null>;
187
250
  export declare function repairWorkspaceUserPlatformLinks(workspaceId: string, payload?: WorkspaceUserPlatformLinkRepairPayload, options?: InternalApiClientOptions): Promise<WorkspaceUserPlatformLinkRepairResponse>;
188
251
  export type WorkspaceUserProfileLinkField = 'display_name' | 'full_name' | 'birthday' | 'gender' | 'avatar_url' | 'email' | 'phone';
189
252
  export type WorkspaceUserProfileLinkMode = 'per_user' | 'generic';
@@ -223,7 +286,7 @@ export interface ListWorkspaceUserProfileLinkUsersResponse {
223
286
  export interface CreateWorkspaceUserProfileLinkPayload {
224
287
  mode: WorkspaceUserProfileLinkMode;
225
288
  target_user_id?: string | null;
226
- allowed_fields: WorkspaceUserProfileLinkField[];
289
+ allowed_fields?: WorkspaceUserProfileLinkField[];
227
290
  prefill_existing_values?: boolean;
228
291
  requires_auth?: boolean;
229
292
  expires_at?: string | null;