@tuturuuu/internal-api 0.0.2 → 0.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/ai-memory.d.ts +76 -0
- package/dist/ai-memory.d.ts.map +1 -0
- package/dist/ai-memory.js +59 -0
- package/dist/ai.d.ts +67 -3
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +121 -0
- package/dist/auth.d.ts +121 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +111 -0
- package/dist/calendar.d.ts +17 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +9 -0
- package/dist/chat-conversations.d.ts +81 -0
- package/dist/chat-conversations.d.ts.map +1 -0
- package/dist/chat-conversations.js +384 -0
- package/dist/chat-internal.d.ts +11 -0
- package/dist/chat-internal.d.ts.map +1 -0
- package/dist/chat-internal.js +39 -0
- package/dist/chat-legacy.d.ts +23 -0
- package/dist/chat-legacy.d.ts.map +1 -0
- package/dist/chat-legacy.js +68 -0
- package/dist/chat-types.d.ts +262 -0
- package/dist/chat-types.d.ts.map +1 -0
- package/dist/chat-types.js +2 -0
- package/dist/chat.d.ts +3 -45
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +17 -65
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +50 -5
- package/dist/education.d.ts +288 -2
- package/dist/education.d.ts.map +1 -1
- package/dist/education.js +176 -0
- package/dist/external-project-team.d.ts +51 -0
- package/dist/external-project-team.d.ts.map +1 -0
- package/dist/external-project-team.js +137 -0
- package/dist/external-projects.d.ts +98 -10
- package/dist/external-projects.d.ts.map +1 -1
- package/dist/external-projects.js +92 -33
- package/dist/finance.d.ts +491 -3
- package/dist/finance.d.ts.map +1 -1
- package/dist/finance.js +611 -1
- package/dist/hive.d.ts +739 -0
- package/dist/hive.d.ts.map +1 -0
- package/dist/hive.js +333 -0
- package/dist/index.d.ts +31 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +350 -8
- package/dist/infrastructure.d.ts +955 -1
- package/dist/infrastructure.d.ts.map +1 -1
- package/dist/infrastructure.js +595 -0
- package/dist/inventory.d.ts +355 -0
- package/dist/inventory.d.ts.map +1 -0
- package/dist/inventory.js +268 -0
- package/dist/mail.d.ts +125 -0
- package/dist/mail.d.ts.map +1 -1
- package/dist/mail.js +112 -1
- package/dist/meet.d.ts +54 -0
- package/dist/meet.d.ts.map +1 -0
- package/dist/meet.js +37 -0
- package/dist/mind.d.ts +55 -0
- package/dist/mind.d.ts.map +1 -0
- package/dist/mind.js +84 -0
- package/dist/posts.d.ts +33 -0
- package/dist/posts.d.ts.map +1 -1
- package/dist/posts.js +42 -0
- package/dist/promotions.d.ts +54 -0
- package/dist/promotions.d.ts.map +1 -1
- package/dist/promotions.js +52 -0
- package/dist/settings.d.ts +28 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +68 -0
- package/dist/storage.d.ts +32 -21
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +52 -32
- package/dist/tasks.d.ts +222 -4
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +202 -0
- package/dist/teach.d.ts +130 -0
- package/dist/teach.d.ts.map +1 -0
- package/dist/teach.js +110 -0
- package/dist/topic-announcements.d.ts +235 -0
- package/dist/topic-announcements.d.ts.map +1 -0
- package/dist/topic-announcements.js +182 -0
- package/dist/tulearn.d.ts +223 -0
- package/dist/tulearn.d.ts.map +1 -0
- package/dist/tulearn.js +97 -0
- package/dist/tutoring.d.ts +152 -0
- package/dist/tutoring.d.ts.map +1 -0
- package/dist/tutoring.js +58 -0
- package/dist/user-group-activity.d.ts +54 -0
- package/dist/user-group-activity.d.ts.map +1 -0
- package/dist/user-group-activity.js +11 -0
- package/dist/user-groups.d.ts +35 -0
- package/dist/user-groups.d.ts.map +1 -0
- package/dist/user-groups.js +84 -0
- package/dist/users.d.ts +83 -1
- package/dist/users.d.ts.map +1 -1
- package/dist/users.js +137 -0
- package/dist/workspace-configs.d.ts +2 -0
- package/dist/workspace-configs.d.ts.map +1 -1
- package/dist/workspace-configs.js +3 -1
- package/dist/workspace-user-audit.d.ts +1 -0
- package/dist/workspace-user-audit.d.ts.map +1 -1
- package/dist/workspaces.d.ts +57 -0
- package/dist/workspaces.d.ts.map +1 -1
- package/dist/workspaces.js +58 -1
- package/package.json +59 -6
package/dist/tulearn.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTulearnBootstrap = getTulearnBootstrap;
|
|
4
|
+
exports.getTulearnHome = getTulearnHome;
|
|
5
|
+
exports.listTulearnCourses = listTulearnCourses;
|
|
6
|
+
exports.getTulearnCourse = getTulearnCourse;
|
|
7
|
+
exports.getTulearnCourseModule = getTulearnCourseModule;
|
|
8
|
+
exports.getTulearnPractice = getTulearnPractice;
|
|
9
|
+
exports.submitTulearnPractice = submitTulearnPractice;
|
|
10
|
+
exports.listTulearnAssignments = listTulearnAssignments;
|
|
11
|
+
exports.completeTulearnAssignment = completeTulearnAssignment;
|
|
12
|
+
exports.listTulearnReports = listTulearnReports;
|
|
13
|
+
exports.listTulearnMarks = listTulearnMarks;
|
|
14
|
+
exports.updateTulearnProfile = updateTulearnProfile;
|
|
15
|
+
exports.getSharedCourseContent = getSharedCourseContent;
|
|
16
|
+
exports.listSharedCourses = listSharedCourses;
|
|
17
|
+
const client_1 = require("./client");
|
|
18
|
+
function studentQuery(studentId) {
|
|
19
|
+
return studentId ? { studentId } : undefined;
|
|
20
|
+
}
|
|
21
|
+
async function getTulearnBootstrap(options) {
|
|
22
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
23
|
+
return client.json('/api/v1/tulearn/bootstrap', {
|
|
24
|
+
cache: 'no-store',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function getTulearnHome(workspaceId, studentId, options) {
|
|
28
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
29
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/home`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
30
|
+
}
|
|
31
|
+
async function listTulearnCourses(workspaceId, studentId, options) {
|
|
32
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
33
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
34
|
+
}
|
|
35
|
+
async function getTulearnCourse(workspaceId, courseId, studentId, options) {
|
|
36
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
37
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
38
|
+
}
|
|
39
|
+
async function getTulearnCourseModule(workspaceId, courseId, moduleId, studentId, options) {
|
|
40
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
41
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/courses/${(0, client_1.encodePathSegment)(courseId)}/modules/${(0, client_1.encodePathSegment)(moduleId)}`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
42
|
+
}
|
|
43
|
+
async function getTulearnPractice(workspaceId, studentId, options) {
|
|
44
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
45
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/practice`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
46
|
+
}
|
|
47
|
+
async function submitTulearnPractice(workspaceId, payload, studentId, options) {
|
|
48
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
49
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/practice`, {
|
|
50
|
+
method: 'POST',
|
|
51
|
+
headers: { 'Content-Type': 'application/json' },
|
|
52
|
+
body: JSON.stringify(payload),
|
|
53
|
+
cache: 'no-store',
|
|
54
|
+
query: studentQuery(studentId),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async function listTulearnAssignments(workspaceId, studentId, options) {
|
|
58
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
59
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/assignments`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
60
|
+
}
|
|
61
|
+
async function completeTulearnAssignment(workspaceId, payload, studentId, options) {
|
|
62
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
63
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/assignments`, {
|
|
64
|
+
method: 'PATCH',
|
|
65
|
+
headers: { 'Content-Type': 'application/json' },
|
|
66
|
+
body: JSON.stringify(payload),
|
|
67
|
+
cache: 'no-store',
|
|
68
|
+
query: studentQuery(studentId),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async function listTulearnReports(workspaceId, studentId, options) {
|
|
72
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
73
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/reports`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
74
|
+
}
|
|
75
|
+
async function listTulearnMarks(workspaceId, studentId, options) {
|
|
76
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
77
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tulearn/marks`, { cache: 'no-store', query: studentQuery(studentId) });
|
|
78
|
+
}
|
|
79
|
+
async function updateTulearnProfile(payload, options) {
|
|
80
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
81
|
+
return client.json('/api/v1/users/me/profile', {
|
|
82
|
+
body: JSON.stringify({ display_name: payload.displayName }),
|
|
83
|
+
cache: 'no-store',
|
|
84
|
+
headers: { 'Content-Type': 'application/json' },
|
|
85
|
+
method: 'PATCH',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function getSharedCourseContent(courseId, options) {
|
|
89
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
90
|
+
return client.json('/api/v1/course', {
|
|
91
|
+
cache: 'no-store',
|
|
92
|
+
query: { courseId },
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async function listSharedCourses(wsId, studentId, options) {
|
|
96
|
+
return listTulearnCourses(wsId, studentId, options);
|
|
97
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { type InternalApiClientOptions, type InternalApiQuery } from './client';
|
|
2
|
+
export type TutoringReasonType = 'ABSENT_RECOVERY' | 'WEAK_SUPPORT' | 'CUSTOM';
|
|
3
|
+
export type TutoringAttendanceStatus = 'PENDING' | 'DONE' | 'NO_SHOW' | 'CANCELLED';
|
|
4
|
+
export interface TutoringSessionRecord {
|
|
5
|
+
id: string;
|
|
6
|
+
group_id: string;
|
|
7
|
+
student_user_id: string;
|
|
8
|
+
teacher_user_id: string | null;
|
|
9
|
+
session_date: string;
|
|
10
|
+
start_time: string;
|
|
11
|
+
duration_minutes: number;
|
|
12
|
+
reason_type: TutoringReasonType;
|
|
13
|
+
reason_detail: string;
|
|
14
|
+
content: string;
|
|
15
|
+
attendance_status: TutoringAttendanceStatus;
|
|
16
|
+
parent_message_preview: string;
|
|
17
|
+
source_feedback_id: string | null;
|
|
18
|
+
resolved_at: string | null;
|
|
19
|
+
created_at: string;
|
|
20
|
+
updated_at: string;
|
|
21
|
+
group: {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string | null;
|
|
24
|
+
} | null;
|
|
25
|
+
student: {
|
|
26
|
+
id: string;
|
|
27
|
+
full_name: string | null;
|
|
28
|
+
display_name: string | null;
|
|
29
|
+
email: string | null;
|
|
30
|
+
} | null;
|
|
31
|
+
teacher: {
|
|
32
|
+
id: string;
|
|
33
|
+
full_name: string | null;
|
|
34
|
+
display_name: string | null;
|
|
35
|
+
email: string | null;
|
|
36
|
+
} | null;
|
|
37
|
+
}
|
|
38
|
+
export interface TutoringQueueItem {
|
|
39
|
+
group_id: string;
|
|
40
|
+
student_user_id: string;
|
|
41
|
+
group_name: string;
|
|
42
|
+
student_name: string;
|
|
43
|
+
reason_type: 'ABSENT_RECOVERY' | 'WEAK_SUPPORT' | 'BOTH';
|
|
44
|
+
absence_deficit: number;
|
|
45
|
+
feedback_content: string;
|
|
46
|
+
source_feedback_id: string | null;
|
|
47
|
+
}
|
|
48
|
+
export interface TutoringQueueSummary {
|
|
49
|
+
absent: number;
|
|
50
|
+
weak: number;
|
|
51
|
+
}
|
|
52
|
+
export interface TutoringDetailedExportRow {
|
|
53
|
+
id: string;
|
|
54
|
+
date: string;
|
|
55
|
+
time: string;
|
|
56
|
+
duration_minutes: number;
|
|
57
|
+
reason_type: TutoringReasonType;
|
|
58
|
+
attendance_status: TutoringAttendanceStatus;
|
|
59
|
+
content: string;
|
|
60
|
+
group_name: string;
|
|
61
|
+
student_name: string;
|
|
62
|
+
teacher_name: string;
|
|
63
|
+
}
|
|
64
|
+
export interface TutoringPayrollExportRow {
|
|
65
|
+
teacher_name: string;
|
|
66
|
+
completed_sessions: number;
|
|
67
|
+
total_minutes: number;
|
|
68
|
+
}
|
|
69
|
+
export interface ListTutoringSessionsParams extends InternalApiQuery {
|
|
70
|
+
fromDate?: string;
|
|
71
|
+
toDate?: string;
|
|
72
|
+
teacherId?: string;
|
|
73
|
+
groupId?: string;
|
|
74
|
+
studentUserId?: string;
|
|
75
|
+
reasonType?: TutoringReasonType;
|
|
76
|
+
attendanceStatus?: TutoringAttendanceStatus;
|
|
77
|
+
page?: number;
|
|
78
|
+
pageSize?: number;
|
|
79
|
+
}
|
|
80
|
+
export interface CreateTutoringSessionPayload {
|
|
81
|
+
groupId: string;
|
|
82
|
+
studentUserId: string;
|
|
83
|
+
teacherUserId?: string | null;
|
|
84
|
+
sessions?: {
|
|
85
|
+
sessionDate: string;
|
|
86
|
+
startTime: string;
|
|
87
|
+
durationMinutes: number;
|
|
88
|
+
teacherUserId?: string | null;
|
|
89
|
+
}[];
|
|
90
|
+
sessionDate?: string;
|
|
91
|
+
startTime?: string;
|
|
92
|
+
durationMinutes?: number;
|
|
93
|
+
sessionCount?: number;
|
|
94
|
+
reasonType: TutoringReasonType;
|
|
95
|
+
reasonDetail?: string;
|
|
96
|
+
content?: string;
|
|
97
|
+
attendanceStatus?: TutoringAttendanceStatus;
|
|
98
|
+
sourceFeedbackId?: string | null;
|
|
99
|
+
}
|
|
100
|
+
export interface UpdateTutoringSessionPayload {
|
|
101
|
+
teacherUserId?: string | null;
|
|
102
|
+
sessionDate?: string;
|
|
103
|
+
startTime?: string;
|
|
104
|
+
durationMinutes?: number;
|
|
105
|
+
reasonType?: TutoringReasonType;
|
|
106
|
+
reasonDetail?: string;
|
|
107
|
+
content?: string;
|
|
108
|
+
attendanceStatus?: TutoringAttendanceStatus;
|
|
109
|
+
parentMessagePreview?: string;
|
|
110
|
+
resolvedAt?: string | null;
|
|
111
|
+
}
|
|
112
|
+
export declare function listTutoringSessions(workspaceId: string, params?: ListTutoringSessionsParams, options?: InternalApiClientOptions): Promise<{
|
|
113
|
+
data: TutoringSessionRecord[];
|
|
114
|
+
count: number;
|
|
115
|
+
page: number;
|
|
116
|
+
pageSize: number;
|
|
117
|
+
totalPages: number;
|
|
118
|
+
}>;
|
|
119
|
+
export declare function createTutoringSession(workspaceId: string, payload: CreateTutoringSessionPayload, options?: InternalApiClientOptions): Promise<{
|
|
120
|
+
id: string | null;
|
|
121
|
+
ids: string[];
|
|
122
|
+
createdCount: number;
|
|
123
|
+
}>;
|
|
124
|
+
export declare function updateTutoringSession(workspaceId: string, sessionId: string, payload: UpdateTutoringSessionPayload, options?: InternalApiClientOptions): Promise<{
|
|
125
|
+
message: string;
|
|
126
|
+
}>;
|
|
127
|
+
export declare function markTutoringSession(workspaceId: string, sessionId: string, attendanceStatus: TutoringAttendanceStatus, options?: InternalApiClientOptions): Promise<{
|
|
128
|
+
message: string;
|
|
129
|
+
}>;
|
|
130
|
+
export declare function generateTutoringMessagePreview(workspaceId: string, sessionId: string, options?: InternalApiClientOptions): Promise<{
|
|
131
|
+
preview: string;
|
|
132
|
+
}>;
|
|
133
|
+
export declare function listTutoringQueue(workspaceId: string, params?: InternalApiQuery & {
|
|
134
|
+
page?: number;
|
|
135
|
+
pageSize?: number;
|
|
136
|
+
q?: string;
|
|
137
|
+
}, options?: InternalApiClientOptions): Promise<{
|
|
138
|
+
data: TutoringQueueItem[];
|
|
139
|
+
count: number;
|
|
140
|
+
page: number;
|
|
141
|
+
pageSize: number;
|
|
142
|
+
summary: TutoringQueueSummary;
|
|
143
|
+
totalPages: number;
|
|
144
|
+
}>;
|
|
145
|
+
export declare function exportTutoringSessions(workspaceId: string, params?: InternalApiQuery, options?: InternalApiClientOptions): Promise<{
|
|
146
|
+
mode: "detailed";
|
|
147
|
+
data: TutoringDetailedExportRow[];
|
|
148
|
+
} | {
|
|
149
|
+
mode: "payroll";
|
|
150
|
+
data: TutoringPayrollExportRow[];
|
|
151
|
+
}>;
|
|
152
|
+
//# sourceMappingURL=tutoring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tutoring.d.ts","sourceRoot":"","sources":["../src/tutoring.ts"],"names":[],"mappings":"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"}
|
package/dist/tutoring.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listTutoringSessions = listTutoringSessions;
|
|
4
|
+
exports.createTutoringSession = createTutoringSession;
|
|
5
|
+
exports.updateTutoringSession = updateTutoringSession;
|
|
6
|
+
exports.markTutoringSession = markTutoringSession;
|
|
7
|
+
exports.generateTutoringMessagePreview = generateTutoringMessagePreview;
|
|
8
|
+
exports.listTutoringQueue = listTutoringQueue;
|
|
9
|
+
exports.exportTutoringSessions = exportTutoringSessions;
|
|
10
|
+
const client_1 = require("./client");
|
|
11
|
+
function basePath(workspaceId) {
|
|
12
|
+
return `/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/tutoring`;
|
|
13
|
+
}
|
|
14
|
+
async function listTutoringSessions(workspaceId, params = {}, options) {
|
|
15
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
16
|
+
return client.json(`${basePath(workspaceId)}/sessions`, { cache: 'no-store', query: params });
|
|
17
|
+
}
|
|
18
|
+
async function createTutoringSession(workspaceId, payload, options) {
|
|
19
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
20
|
+
return client.json(`${basePath(workspaceId)}/sessions`, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
headers: { 'Content-Type': 'application/json' },
|
|
23
|
+
body: JSON.stringify(payload),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async function updateTutoringSession(workspaceId, sessionId, payload, options) {
|
|
27
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
28
|
+
return client.json(`${basePath(workspaceId)}/sessions/${(0, client_1.encodePathSegment)(sessionId)}`, {
|
|
29
|
+
method: 'PUT',
|
|
30
|
+
headers: { 'Content-Type': 'application/json' },
|
|
31
|
+
body: JSON.stringify(payload),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async function markTutoringSession(workspaceId, sessionId, attendanceStatus, options) {
|
|
35
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
36
|
+
return client.json(`${basePath(workspaceId)}/sessions/${(0, client_1.encodePathSegment)(sessionId)}/mark`, {
|
|
37
|
+
method: 'POST',
|
|
38
|
+
headers: { 'Content-Type': 'application/json' },
|
|
39
|
+
body: JSON.stringify({ attendanceStatus }),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async function generateTutoringMessagePreview(workspaceId, sessionId, options) {
|
|
43
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
44
|
+
return client.json(`${basePath(workspaceId)}/sessions/${(0, client_1.encodePathSegment)(sessionId)}/message-preview`, {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async function listTutoringQueue(workspaceId, params = {}, options) {
|
|
49
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
50
|
+
return client.json(`${basePath(workspaceId)}/queue`, {
|
|
51
|
+
cache: 'no-store',
|
|
52
|
+
query: params,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function exportTutoringSessions(workspaceId, params = {}, options) {
|
|
56
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
57
|
+
return client.json(`${basePath(workspaceId)}/export`, { cache: 'no-store', query: params });
|
|
58
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type InternalApiClientOptions, type InternalApiQuery } from './client';
|
|
2
|
+
export interface UserGroupActivityEventResponse {
|
|
3
|
+
auditRecordId: number;
|
|
4
|
+
tableName: string | null;
|
|
5
|
+
action: 'created' | 'updated' | 'deleted' | 'archived' | 'reactivated' | 'reordered' | 'uploaded' | 'removed' | 'restored' | 'role_updated';
|
|
6
|
+
resourceType: 'group' | 'membership' | 'tag' | 'default_included_group' | 'post' | 'post_log' | 'post_check' | 'attendance' | 'linked_product' | 'metric' | 'metric_category' | 'metric_category_link' | 'student_metric_value' | 'monthly_report' | 'monthly_report_log' | 'feedback' | 'course_module' | 'course_module_group' | 'course_module_group_order' | 'course_module_order' | 'resource';
|
|
7
|
+
resourceId: string | null;
|
|
8
|
+
resourceLabel: string | null;
|
|
9
|
+
summary: string;
|
|
10
|
+
changedFields: string[];
|
|
11
|
+
fieldChanges: Array<{
|
|
12
|
+
field: string;
|
|
13
|
+
label: string;
|
|
14
|
+
before: string | null;
|
|
15
|
+
after: string | null;
|
|
16
|
+
}>;
|
|
17
|
+
before: Record<string, string | null>;
|
|
18
|
+
after: Record<string, string | null>;
|
|
19
|
+
group: {
|
|
20
|
+
id: string | null;
|
|
21
|
+
name: string | null;
|
|
22
|
+
};
|
|
23
|
+
affectedUser: {
|
|
24
|
+
id: string | null;
|
|
25
|
+
name: string | null;
|
|
26
|
+
email: string | null;
|
|
27
|
+
} | null;
|
|
28
|
+
actor: {
|
|
29
|
+
authUid: string | null;
|
|
30
|
+
workspaceUserId: string | null;
|
|
31
|
+
id: string | null;
|
|
32
|
+
name: string | null;
|
|
33
|
+
email: string | null;
|
|
34
|
+
};
|
|
35
|
+
occurredAt: string;
|
|
36
|
+
}
|
|
37
|
+
export interface UserGroupActivityLogsResponse {
|
|
38
|
+
data: UserGroupActivityEventResponse[];
|
|
39
|
+
count: number;
|
|
40
|
+
}
|
|
41
|
+
export interface UserGroupActivityLogQuery extends InternalApiQuery {
|
|
42
|
+
start: string;
|
|
43
|
+
end: string;
|
|
44
|
+
groupId?: string;
|
|
45
|
+
resourceType?: UserGroupActivityEventResponse['resourceType'] | 'all';
|
|
46
|
+
action?: UserGroupActivityEventResponse['action'] | 'all';
|
|
47
|
+
affectedUserQuery?: string;
|
|
48
|
+
actorQuery?: string;
|
|
49
|
+
query?: string;
|
|
50
|
+
offset?: number;
|
|
51
|
+
limit?: number;
|
|
52
|
+
}
|
|
53
|
+
export declare function listUserGroupActivityLogs(workspaceId: string, query: UserGroupActivityLogQuery, options?: InternalApiClientOptions): Promise<UserGroupActivityLogsResponse>;
|
|
54
|
+
//# sourceMappingURL=user-group-activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-group-activity.d.ts","sourceRoot":"","sources":["../src/user-group-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EACF,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,aAAa,GACb,WAAW,GACX,UAAU,GACV,SAAS,GACT,UAAU,GACV,cAAc,CAAC;IACnB,YAAY,EACR,OAAO,GACP,YAAY,GACZ,KAAK,GACL,wBAAwB,GACxB,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,iBAAiB,GACjB,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,qBAAqB,GACrB,2BAA2B,GAC3B,qBAAqB,GACrB,UAAU,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,8BAA8B,EAAE,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,8BAA8B,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACtE,MAAM,CAAC,EAAE,8BAA8B,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,yBAAyB,EAChC,OAAO,CAAC,EAAE,wBAAwB,0CAWnC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listUserGroupActivityLogs = listUserGroupActivityLogs;
|
|
4
|
+
const client_1 = require("./client");
|
|
5
|
+
async function listUserGroupActivityLogs(workspaceId, query, options) {
|
|
6
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
7
|
+
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/user-groups/activity-logs`, {
|
|
8
|
+
cache: 'no-store',
|
|
9
|
+
query,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { UserGroup } from '@tuturuuu/types/primitives/UserGroup';
|
|
2
|
+
import { type InternalApiClientOptions } from './client';
|
|
3
|
+
export type UserGroupStatusFilter = 'all' | 'active' | 'archived';
|
|
4
|
+
export type WorkspaceUserGroupsParams = {
|
|
5
|
+
ids?: string[];
|
|
6
|
+
includeArchived?: boolean;
|
|
7
|
+
page?: number;
|
|
8
|
+
pageSize?: number;
|
|
9
|
+
q?: string;
|
|
10
|
+
status?: UserGroupStatusFilter;
|
|
11
|
+
userId?: string;
|
|
12
|
+
};
|
|
13
|
+
export type WorkspaceUserGroupsResponse = {
|
|
14
|
+
count: number;
|
|
15
|
+
data: UserGroup[];
|
|
16
|
+
error?: boolean;
|
|
17
|
+
errorMessage?: string;
|
|
18
|
+
};
|
|
19
|
+
export type WorkspaceUserGroupsPageResponse = WorkspaceUserGroupsResponse & {
|
|
20
|
+
page: number;
|
|
21
|
+
pageSize: number;
|
|
22
|
+
};
|
|
23
|
+
export type RemoveWorkspaceUserGroupIndicatorCategoryResponse = {
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
export declare function getNextWorkspaceUserGroupsPageParam<TPage extends {
|
|
27
|
+
count: number;
|
|
28
|
+
data: unknown[];
|
|
29
|
+
pageSize: number;
|
|
30
|
+
}>(lastPage: TPage, allPages: TPage[]): number | undefined;
|
|
31
|
+
export declare function listWorkspaceUserGroups(workspaceId: string, params?: WorkspaceUserGroupsParams, options?: InternalApiClientOptions): Promise<WorkspaceUserGroupsPageResponse>;
|
|
32
|
+
export declare function listAllWorkspaceUserGroups(workspaceId: string, params?: Omit<WorkspaceUserGroupsParams, 'page' | 'pageSize'>, options?: InternalApiClientOptions): Promise<UserGroup[]>;
|
|
33
|
+
export declare function listWorkspaceUserGroupsByIds(workspaceId: string, groupIds: string[], options?: InternalApiClientOptions): Promise<UserGroup[]>;
|
|
34
|
+
export declare function removeWorkspaceUserGroupIndicatorCategory(workspaceId: string, groupId: string, categoryId: string, options?: InternalApiClientOptions): Promise<RemoveWorkspaceUserGroupIndicatorCategoryResponse>;
|
|
35
|
+
//# sourceMappingURL=user-groups.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextWorkspaceUserGroupsPageParam = getNextWorkspaceUserGroupsPageParam;
|
|
4
|
+
exports.listWorkspaceUserGroups = listWorkspaceUserGroups;
|
|
5
|
+
exports.listAllWorkspaceUserGroups = listAllWorkspaceUserGroups;
|
|
6
|
+
exports.listWorkspaceUserGroupsByIds = listWorkspaceUserGroupsByIds;
|
|
7
|
+
exports.removeWorkspaceUserGroupIndicatorCategory = removeWorkspaceUserGroupIndicatorCategory;
|
|
8
|
+
const client_1 = require("./client");
|
|
9
|
+
const DEFAULT_PAGE_SIZE = 50;
|
|
10
|
+
const ALL_GROUPS_PAGE_SIZE = 200;
|
|
11
|
+
function resolveStatus(params) {
|
|
12
|
+
return params.status ?? (params.includeArchived ? 'all' : 'active');
|
|
13
|
+
}
|
|
14
|
+
function getNextWorkspaceUserGroupsPageParam(lastPage, allPages) {
|
|
15
|
+
if (lastPage.data.length === 0 || lastPage.data.length < lastPage.pageSize) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const loadedCount = allPages.reduce((total, currentPage) => total + currentPage.data.length, 0);
|
|
19
|
+
if (loadedCount >= lastPage.count) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return allPages.length + 1;
|
|
23
|
+
}
|
|
24
|
+
async function listWorkspaceUserGroups(workspaceId, params = {}, options) {
|
|
25
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
26
|
+
const page = params.page ?? 1;
|
|
27
|
+
const pageSize = params.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
28
|
+
const status = resolveStatus(params);
|
|
29
|
+
const payload = await client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/users/groups`, {
|
|
30
|
+
cache: 'no-store',
|
|
31
|
+
query: {
|
|
32
|
+
ids: params.ids?.join(','),
|
|
33
|
+
page,
|
|
34
|
+
pageSize,
|
|
35
|
+
q: params.q,
|
|
36
|
+
status: status === 'active' ? undefined : status,
|
|
37
|
+
userId: params.userId,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
if (payload.error) {
|
|
41
|
+
throw new Error(payload.errorMessage || 'Failed to fetch workspace user groups');
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
...payload,
|
|
45
|
+
page,
|
|
46
|
+
pageSize,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async function listAllWorkspaceUserGroups(workspaceId, params = {}, options) {
|
|
50
|
+
const groups = [];
|
|
51
|
+
const pages = [];
|
|
52
|
+
let page = 1;
|
|
53
|
+
while (true) {
|
|
54
|
+
const payload = await listWorkspaceUserGroups(workspaceId, {
|
|
55
|
+
...params,
|
|
56
|
+
page,
|
|
57
|
+
pageSize: ALL_GROUPS_PAGE_SIZE,
|
|
58
|
+
}, options);
|
|
59
|
+
pages.push(payload);
|
|
60
|
+
groups.push(...payload.data);
|
|
61
|
+
const nextPage = getNextWorkspaceUserGroupsPageParam(payload, pages);
|
|
62
|
+
if (nextPage === undefined) {
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
page = nextPage;
|
|
66
|
+
}
|
|
67
|
+
return groups;
|
|
68
|
+
}
|
|
69
|
+
async function listWorkspaceUserGroupsByIds(workspaceId, groupIds, options) {
|
|
70
|
+
if (groupIds.length === 0) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
const payload = await listWorkspaceUserGroups(workspaceId, {
|
|
74
|
+
ids: groupIds,
|
|
75
|
+
page: 1,
|
|
76
|
+
pageSize: Math.max(groupIds.length, 1),
|
|
77
|
+
status: 'all',
|
|
78
|
+
}, options);
|
|
79
|
+
return payload.data;
|
|
80
|
+
}
|
|
81
|
+
function removeWorkspaceUserGroupIndicatorCategory(workspaceId, groupId, categoryId, options) {
|
|
82
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
83
|
+
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' });
|
|
84
|
+
}
|
package/dist/users.d.ts
CHANGED
|
@@ -2,6 +2,23 @@ import { type InternalApiClientOptions } from './client';
|
|
|
2
2
|
type UserConfigResponse = {
|
|
3
3
|
value: string | null;
|
|
4
4
|
};
|
|
5
|
+
type UserWorkspaceConfigResponse = {
|
|
6
|
+
value: string | null;
|
|
7
|
+
};
|
|
8
|
+
export declare const SHOW_VERSION_BADGE_CONFIG_ID = "SHOW_VERSION_BADGE";
|
|
9
|
+
export type RootNavigationTarget = 'workspace_home' | 'tasks' | 'calendar' | 'finance';
|
|
10
|
+
export type RootNavigationConfig = {
|
|
11
|
+
target: RootNavigationTarget;
|
|
12
|
+
submodule?: string;
|
|
13
|
+
boardId?: string;
|
|
14
|
+
};
|
|
15
|
+
export type NormalizedRootNavigationConfig = {
|
|
16
|
+
target: RootNavigationTarget;
|
|
17
|
+
submodule: string;
|
|
18
|
+
boardId: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function parseRootNavigationConfig(raw: unknown): RootNavigationConfig;
|
|
21
|
+
export declare function normalizeRootNavigationConfig(raw: unknown): NormalizedRootNavigationConfig;
|
|
5
22
|
export type CurrentUserProfileResponse = {
|
|
6
23
|
id: string;
|
|
7
24
|
email: string | null;
|
|
@@ -17,6 +34,11 @@ export type CurrentUserDefaultWorkspaceResponse = {
|
|
|
17
34
|
name: string;
|
|
18
35
|
personal?: boolean | null;
|
|
19
36
|
} | null;
|
|
37
|
+
export type CurrentUserHiveAccessResponse = {
|
|
38
|
+
hasAccess: boolean;
|
|
39
|
+
isAdmin: boolean;
|
|
40
|
+
isMember: boolean;
|
|
41
|
+
};
|
|
20
42
|
export interface WorkspaceAttendanceExportRecord {
|
|
21
43
|
date: string;
|
|
22
44
|
groupId: string;
|
|
@@ -34,6 +56,44 @@ export interface ListWorkspaceAttendanceExportResponse {
|
|
|
34
56
|
data: WorkspaceAttendanceExportRecord[];
|
|
35
57
|
nextOffset?: number;
|
|
36
58
|
}
|
|
59
|
+
export interface WorkspaceBasicUserRecord {
|
|
60
|
+
id: string;
|
|
61
|
+
full_name: string | null;
|
|
62
|
+
display_name: string | null;
|
|
63
|
+
email: string | null;
|
|
64
|
+
avatar_url?: string | null;
|
|
65
|
+
archived?: boolean | null;
|
|
66
|
+
}
|
|
67
|
+
export interface ListWorkspaceBasicUsersResponse {
|
|
68
|
+
count: number;
|
|
69
|
+
data: WorkspaceBasicUserRecord[];
|
|
70
|
+
}
|
|
71
|
+
export type WorkspaceUserPlatformLinkRepairSkipReason = 'missing_email' | 'no_member_match' | 'ambiguous_workspace_profile' | 'ambiguous_platform_match' | 'already_linked' | 'platform_already_linked';
|
|
72
|
+
export interface WorkspaceUserPlatformLinkRepairPayload {
|
|
73
|
+
workspaceUserId?: string;
|
|
74
|
+
}
|
|
75
|
+
export interface WorkspaceUserPlatformLinkRepairLinkedUser {
|
|
76
|
+
email: string;
|
|
77
|
+
platformUserId: string;
|
|
78
|
+
workspaceUserId: string;
|
|
79
|
+
workspaceUserName: string | null;
|
|
80
|
+
}
|
|
81
|
+
export interface WorkspaceUserPlatformLinkRepairSkippedUser {
|
|
82
|
+
detail?: string;
|
|
83
|
+
email: string | null;
|
|
84
|
+
reason: WorkspaceUserPlatformLinkRepairSkipReason;
|
|
85
|
+
workspaceUserId: string;
|
|
86
|
+
workspaceUserName: string | null;
|
|
87
|
+
}
|
|
88
|
+
export interface WorkspaceUserPlatformLinkRepairResponse {
|
|
89
|
+
linked: WorkspaceUserPlatformLinkRepairLinkedUser[];
|
|
90
|
+
skipped: WorkspaceUserPlatformLinkRepairSkippedUser[];
|
|
91
|
+
summary: {
|
|
92
|
+
linked: number;
|
|
93
|
+
scanned: number;
|
|
94
|
+
skipped: number;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
37
97
|
export type UpdateCurrentUserDefaultWorkspaceResponse = {
|
|
38
98
|
success: boolean;
|
|
39
99
|
};
|
|
@@ -51,6 +111,13 @@ export type UpdateCurrentUserProfilePayload = {
|
|
|
51
111
|
display_name?: string | null;
|
|
52
112
|
full_name?: string | null;
|
|
53
113
|
};
|
|
114
|
+
export type UpdatePlatformUserRolesPayload = {
|
|
115
|
+
allow_challenge_management: boolean;
|
|
116
|
+
allow_manage_all_challenges: boolean;
|
|
117
|
+
allow_role_management: boolean;
|
|
118
|
+
allow_workspace_creation: boolean;
|
|
119
|
+
enabled: boolean;
|
|
120
|
+
};
|
|
54
121
|
export interface CreateSupportInquiryPayload {
|
|
55
122
|
name: string;
|
|
56
123
|
email: string;
|
|
@@ -60,14 +127,23 @@ export interface CreateSupportInquiryPayload {
|
|
|
60
127
|
message: string;
|
|
61
128
|
}
|
|
62
129
|
export declare function getUserConfig(configId: string, options?: InternalApiClientOptions): Promise<UserConfigResponse>;
|
|
63
|
-
export declare function updateUserConfig(configId: string, value: string, options?: InternalApiClientOptions): Promise<{
|
|
130
|
+
export declare function updateUserConfig(configId: string, value: string | null, options?: InternalApiClientOptions): Promise<{
|
|
131
|
+
message: string;
|
|
132
|
+
}>;
|
|
133
|
+
export declare function getUserWorkspaceConfig(workspaceId: string, configId: string, options?: InternalApiClientOptions): Promise<UserWorkspaceConfigResponse>;
|
|
134
|
+
export declare function updateUserWorkspaceConfig(workspaceId: string, configId: string, value: string | null, options?: InternalApiClientOptions): Promise<{
|
|
64
135
|
message: string;
|
|
65
136
|
}>;
|
|
66
137
|
export declare function getCurrentUserProfile(options?: InternalApiClientOptions): Promise<CurrentUserProfileResponse>;
|
|
67
138
|
export declare function getCurrentUserDefaultWorkspace(options?: InternalApiClientOptions): Promise<CurrentUserDefaultWorkspaceResponse>;
|
|
139
|
+
export declare function getCurrentUserHiveAccess(options?: InternalApiClientOptions): Promise<CurrentUserHiveAccessResponse>;
|
|
68
140
|
export declare function updateCurrentUserDefaultWorkspace(workspaceId: string | null, options?: InternalApiClientOptions): Promise<UpdateCurrentUserDefaultWorkspaceResponse>;
|
|
69
141
|
export declare function createCurrentUserAvatarUploadUrl(filename: string, options?: InternalApiClientOptions): Promise<CurrentUserAvatarUploadUrlResponse>;
|
|
70
142
|
export declare function updateCurrentUserProfile(payload: UpdateCurrentUserProfilePayload, options?: InternalApiClientOptions): Promise<CurrentUserProfileResponse>;
|
|
143
|
+
export declare function updatePlatformUserRoles(userId: string, payload: UpdatePlatformUserRolesPayload, options?: InternalApiClientOptions): Promise<{
|
|
144
|
+
data: unknown;
|
|
145
|
+
message: string;
|
|
146
|
+
}>;
|
|
71
147
|
export declare function uploadCurrentUserAvatar(file: File, filename?: string, options?: InternalApiClientOptions): Promise<UploadCurrentUserAvatarResult>;
|
|
72
148
|
export declare function removeCurrentUserAvatar(options?: InternalApiClientOptions): Promise<void>;
|
|
73
149
|
export declare function getUserCalendarSettings(options?: InternalApiClientOptions): Promise<{
|
|
@@ -85,5 +161,11 @@ export declare function listWorkspaceAttendanceExportRecords(workspaceId: string
|
|
|
85
161
|
offset?: number;
|
|
86
162
|
startDate: string;
|
|
87
163
|
}, options?: InternalApiClientOptions): Promise<ListWorkspaceAttendanceExportResponse>;
|
|
164
|
+
export declare function listWorkspaceBasicUsers(workspaceId: string, { from, limit, q, }?: {
|
|
165
|
+
from?: number;
|
|
166
|
+
limit?: number;
|
|
167
|
+
q?: string;
|
|
168
|
+
}, options?: InternalApiClientOptions): Promise<ListWorkspaceBasicUsersResponse>;
|
|
169
|
+
export declare function repairWorkspaceUserPlatformLinks(workspaceId: string, payload?: WorkspaceUserPlatformLinkRepairPayload, options?: InternalApiClientOptions): Promise<WorkspaceUserPlatformLinkRepairResponse>;
|
|
88
170
|
export {};
|
|
89
171
|
//# sourceMappingURL=users.d.ts.map
|