@iblai/web-utils 1.6.5 → 1.6.7
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/data-layer/src/features/monetization/custom-api-slice.d.ts +161 -0
- package/dist/data-layer/src/features/monetization/types.d.ts +4 -0
- package/dist/data-layer/src/features/watched-groups/api-slice.d.ts +2481 -0
- package/dist/data-layer/src/features/watched-groups/constants.d.ts +66 -0
- package/dist/data-layer/src/features/watched-groups/types.d.ts +143 -0
- package/dist/data-layer/src/index.d.ts +3 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.esm.js +252 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +252 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SERVICES } from '@data-layer/constants';
|
|
2
|
+
export declare const WATCHED_GROUPS_REDUCER_PATH = "watchedGroupsApiSlice";
|
|
3
|
+
export declare const WATCHED_GROUPS_QUERY_KEYS: {
|
|
4
|
+
readonly WATCHED_GROUPS: "WATCHED_GROUPS";
|
|
5
|
+
readonly WATCHED_GROUP: "WATCHED_GROUP";
|
|
6
|
+
readonly WATCHED_USERS: "WATCHED_USERS";
|
|
7
|
+
readonly WATCHERS: "WATCHERS";
|
|
8
|
+
readonly WATCHER: "WATCHER";
|
|
9
|
+
};
|
|
10
|
+
export declare const WATCHED_GROUPS_ENDPOINTS: {
|
|
11
|
+
LIST_WATCHED_GROUPS: {
|
|
12
|
+
service: SERVICES;
|
|
13
|
+
path: () => string;
|
|
14
|
+
};
|
|
15
|
+
CREATE_WATCHED_GROUP: {
|
|
16
|
+
service: SERVICES;
|
|
17
|
+
path: () => string;
|
|
18
|
+
};
|
|
19
|
+
GET_WATCHED_GROUP: {
|
|
20
|
+
service: SERVICES;
|
|
21
|
+
path: (id: number) => string;
|
|
22
|
+
};
|
|
23
|
+
UPDATE_WATCHED_GROUP: {
|
|
24
|
+
service: SERVICES;
|
|
25
|
+
path: (id: number) => string;
|
|
26
|
+
};
|
|
27
|
+
DELETE_WATCHED_GROUP: {
|
|
28
|
+
service: SERVICES;
|
|
29
|
+
path: (id: number) => string;
|
|
30
|
+
};
|
|
31
|
+
LIST_WATCHED_USERS: {
|
|
32
|
+
service: SERVICES;
|
|
33
|
+
path: (watchedGroupPk: number) => string;
|
|
34
|
+
};
|
|
35
|
+
ADD_WATCHED_USER: {
|
|
36
|
+
service: SERVICES;
|
|
37
|
+
path: (watchedGroupPk: number) => string;
|
|
38
|
+
};
|
|
39
|
+
REMOVE_WATCHED_USER: {
|
|
40
|
+
service: SERVICES;
|
|
41
|
+
path: (watchedGroupPk: number, id: number) => string;
|
|
42
|
+
};
|
|
43
|
+
LIST_WATCHERS: {
|
|
44
|
+
service: SERVICES;
|
|
45
|
+
path: (watchedGroupPk: number) => string;
|
|
46
|
+
};
|
|
47
|
+
ADD_WATCHER: {
|
|
48
|
+
service: SERVICES;
|
|
49
|
+
path: (watchedGroupPk: number) => string;
|
|
50
|
+
};
|
|
51
|
+
GET_WATCHER: {
|
|
52
|
+
service: SERVICES;
|
|
53
|
+
path: (watchedGroupPk: number, id: number) => string;
|
|
54
|
+
};
|
|
55
|
+
UPDATE_WATCHER: {
|
|
56
|
+
service: SERVICES;
|
|
57
|
+
path: (watchedGroupPk: number, id: number) => string;
|
|
58
|
+
};
|
|
59
|
+
DELETE_WATCHER: {
|
|
60
|
+
service: SERVICES;
|
|
61
|
+
path: (watchedGroupPk: number, id: number) => string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const WATCHER_NOTIFICATION_EVENTS: readonly ["USER_NOTIF_COURSE_ENROLLMENT", "ADMIN_NOTIF_COURSE_ENROLLMENT", "USER_NOTIF_USER_INACTIVITY", "USER_NOTIF_COURSE_COMPLETION", "USER_NOTIF_CREDENTIALS", "USER_NOTIF_LEARNER_PROGRESS", "PROACTIVE_LEARNER_NOTIFICATION", "ACTIVITY_NEW_CONTENT", "ACTIVITY_COURSE_MILESTONE", "SKILL_MASTERY_CHANGE", "PROGRAM_ENROLLMENT_CONFIRMATION", "PATHWAY_ENROLLMENT_CONFIRMATION", "COURSE_SCHEDULE_CHANGE", "COURSES_PROGRESS_SUMMARY", "SUBSECTION_GRADE_UPDATE"];
|
|
65
|
+
export type WatcherNotificationEvent = (typeof WATCHER_NOTIFICATION_EVENTS)[number];
|
|
66
|
+
export declare const WATCHER_NOTIFICATION_EVENT_LABELS: Record<WatcherNotificationEvent, string>;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export interface PaginatedResponse<T> {
|
|
2
|
+
count: number;
|
|
3
|
+
next: string | null;
|
|
4
|
+
previous: string | null;
|
|
5
|
+
results: T[];
|
|
6
|
+
}
|
|
7
|
+
export interface WatchedGroupListItem {
|
|
8
|
+
id: number;
|
|
9
|
+
name: string;
|
|
10
|
+
platform_key: string;
|
|
11
|
+
}
|
|
12
|
+
export interface WatchedGroupDetail {
|
|
13
|
+
id: number;
|
|
14
|
+
name: string;
|
|
15
|
+
platform_key: string;
|
|
16
|
+
watcher_count: number;
|
|
17
|
+
watchers: WatcherSummary[] | string[];
|
|
18
|
+
watched_user_count: number;
|
|
19
|
+
watched_users: WatchedUserSummary[] | string[];
|
|
20
|
+
}
|
|
21
|
+
export interface WatcherSummary {
|
|
22
|
+
id: number;
|
|
23
|
+
username: string;
|
|
24
|
+
email: string;
|
|
25
|
+
events: string | string[];
|
|
26
|
+
}
|
|
27
|
+
export interface WatchedUserSummary {
|
|
28
|
+
id: number;
|
|
29
|
+
username: string;
|
|
30
|
+
email: string;
|
|
31
|
+
}
|
|
32
|
+
export interface WatchedGroupListParams {
|
|
33
|
+
limit?: number;
|
|
34
|
+
offset?: number;
|
|
35
|
+
platform_key?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface WatchedGroupDetailParams {
|
|
38
|
+
platform_key?: string;
|
|
39
|
+
watched_user_limit?: number;
|
|
40
|
+
watcher_limit?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface WatcherCreatePayload {
|
|
43
|
+
watcher_id: number;
|
|
44
|
+
events: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface CreateWatchedGroupBody {
|
|
47
|
+
name: string;
|
|
48
|
+
watched_users?: number[];
|
|
49
|
+
watchers?: WatcherCreatePayload[];
|
|
50
|
+
owner_id?: number;
|
|
51
|
+
}
|
|
52
|
+
export interface UpdateWatchedGroupBody {
|
|
53
|
+
name: string;
|
|
54
|
+
}
|
|
55
|
+
export interface AddWatchedUserBody {
|
|
56
|
+
user_id: number;
|
|
57
|
+
}
|
|
58
|
+
export interface UpdateWatcherBody {
|
|
59
|
+
events: string[];
|
|
60
|
+
}
|
|
61
|
+
export type GetWatchedGroupsArgs = {
|
|
62
|
+
params?: WatchedGroupListParams;
|
|
63
|
+
};
|
|
64
|
+
export type GetWatchedGroupArgs = {
|
|
65
|
+
id: number;
|
|
66
|
+
params?: WatchedGroupDetailParams;
|
|
67
|
+
};
|
|
68
|
+
export type CreateWatchedGroupArgs = {
|
|
69
|
+
body: CreateWatchedGroupBody;
|
|
70
|
+
params?: WatchedGroupDetailParams;
|
|
71
|
+
};
|
|
72
|
+
export type UpdateWatchedGroupArgs = {
|
|
73
|
+
id: number;
|
|
74
|
+
body: UpdateWatchedGroupBody;
|
|
75
|
+
params?: {
|
|
76
|
+
platform_key?: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export type DeleteWatchedGroupArgs = {
|
|
80
|
+
id: number;
|
|
81
|
+
params?: {
|
|
82
|
+
platform_key?: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export type GetWatchedUsersArgs = {
|
|
86
|
+
watchedGroupPk: number;
|
|
87
|
+
params?: {
|
|
88
|
+
limit?: number;
|
|
89
|
+
offset?: number;
|
|
90
|
+
platform_key?: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export type AddWatchedUserArgs = {
|
|
94
|
+
watchedGroupPk: number;
|
|
95
|
+
body: AddWatchedUserBody;
|
|
96
|
+
params?: {
|
|
97
|
+
platform_key?: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
export type RemoveWatchedUserArgs = {
|
|
101
|
+
watchedGroupPk: number;
|
|
102
|
+
id: number;
|
|
103
|
+
params?: {
|
|
104
|
+
platform_key?: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
export type GetWatchersArgs = {
|
|
108
|
+
watchedGroupPk: number;
|
|
109
|
+
params?: {
|
|
110
|
+
limit?: number;
|
|
111
|
+
offset?: number;
|
|
112
|
+
platform_key?: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
export type AddWatcherArgs = {
|
|
116
|
+
watchedGroupPk: number;
|
|
117
|
+
body: WatcherCreatePayload;
|
|
118
|
+
params?: {
|
|
119
|
+
platform_key?: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export type GetWatcherArgs = {
|
|
123
|
+
watchedGroupPk: number;
|
|
124
|
+
id: number;
|
|
125
|
+
params?: {
|
|
126
|
+
platform_key?: string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
export type UpdateWatcherArgs = {
|
|
130
|
+
watchedGroupPk: number;
|
|
131
|
+
id: number;
|
|
132
|
+
body: UpdateWatcherBody;
|
|
133
|
+
params?: {
|
|
134
|
+
platform_key?: string;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
export type DeleteWatcherArgs = {
|
|
138
|
+
watchedGroupPk: number;
|
|
139
|
+
id: number;
|
|
140
|
+
params?: {
|
|
141
|
+
platform_key?: string;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
@@ -104,6 +104,9 @@ export * from './features/workflows/constants';
|
|
|
104
104
|
export * from './features/audit-logs/api-slice';
|
|
105
105
|
export * from './features/audit-logs/constants';
|
|
106
106
|
export * from './features/audit-logs/types';
|
|
107
|
+
export * from './features/watched-groups/api-slice';
|
|
108
|
+
export * from './features/watched-groups/constants';
|
|
109
|
+
export * from './features/watched-groups/types';
|
|
107
110
|
export * from './reducers';
|
|
108
111
|
export * from './utils';
|
|
109
112
|
export type { CustomQueryArgs } from './features/utils';
|
package/dist/index.d.ts
CHANGED
|
@@ -1575,7 +1575,7 @@ type Props$2 = {
|
|
|
1575
1575
|
* 4. Handles redirects to auth SPA when needed
|
|
1576
1576
|
* 5. Manages public route access state
|
|
1577
1577
|
*/
|
|
1578
|
-
declare function AuthProvider({ children, fallback, middleware, onAuthSuccess, onAuthFailure, redirectToAuthSpa, hasNonExpiredAuthToken, username, pathname, storageService, token, enableStorageSync, skip, }: Props$2): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> |
|
|
1578
|
+
declare function AuthProvider({ children, fallback, middleware, onAuthSuccess, onAuthFailure, redirectToAuthSpa, hasNonExpiredAuthToken, username, pathname, storageService, token, enableStorageSync, skip, }: Props$2): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
|
|
1579
1579
|
|
|
1580
1580
|
/**
|
|
1581
1581
|
* Props for the MentorProvider component
|
|
@@ -1608,7 +1608,7 @@ type Props$1 = {
|
|
|
1608
1608
|
* 3. Manages redirection based on mentor availability
|
|
1609
1609
|
* 4. Integrates with tenant context for access control
|
|
1610
1610
|
*/
|
|
1611
|
-
declare function MentorProvider({ children, fallback, onAuthSuccess, onAuthFailure, redirectToAuthSpa, redirectToMentor, onLoadMentorsPermissions, redirectToNoMentorsPage, redirectToCreateMentor, username, isAdmin, mainTenantKey, requestedMentorId, handleMentorNotFound, forceDetermineMentor, onComplete, skip, }: Props$1): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> |
|
|
1611
|
+
declare function MentorProvider({ children, fallback, onAuthSuccess, onAuthFailure, redirectToAuthSpa, redirectToMentor, onLoadMentorsPermissions, redirectToNoMentorsPage, redirectToCreateMentor, username, isAdmin, mainTenantKey, requestedMentorId, handleMentorNotFound, forceDetermineMentor, onComplete, skip, }: Props$1): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
|
|
1612
1612
|
|
|
1613
1613
|
/**
|
|
1614
1614
|
* Type definition for the tenant context
|
|
@@ -1672,7 +1672,7 @@ type Props = {
|
|
|
1672
1672
|
* 4. Handles tenant-specific domain redirects
|
|
1673
1673
|
* 5. Maintains tenant access state
|
|
1674
1674
|
*/
|
|
1675
|
-
declare function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed, setUseMentorProvider, skip, onLoadPlatformPermissions, skipCustomDomainCheck, onTenantMismatch, }: Props): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> |
|
|
1675
|
+
declare function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed, setUseMentorProvider, skip, onLoadPlatformPermissions, skipCustomDomainCheck, onTenantMismatch, }: Props): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
|
|
1676
1676
|
|
|
1677
1677
|
/**
|
|
1678
1678
|
* Chat area size constants
|
package/dist/index.esm.js
CHANGED
|
@@ -422,6 +422,14 @@ const BASE_CONFIG = {
|
|
|
422
422
|
description: "Default mentor to open on the platform",
|
|
423
423
|
type: "string",
|
|
424
424
|
},
|
|
425
|
+
/* {
|
|
426
|
+
slug: "monetization_base_path",
|
|
427
|
+
label: "Public Monetization Base Path",
|
|
428
|
+
defaultValue: "https://ibl.ai/buy/",
|
|
429
|
+
description:
|
|
430
|
+
"Base URL for public paywall product pages. The product unique ID will be appended to this path.",
|
|
431
|
+
type: "string",
|
|
432
|
+
}, */
|
|
425
433
|
],
|
|
426
434
|
};
|
|
427
435
|
// SkillsAI platform configuration
|
|
@@ -2862,6 +2870,12 @@ async function validateJwtToken(storageService) {
|
|
|
2862
2870
|
if (!edxJwtToken || !userData) {
|
|
2863
2871
|
return false;
|
|
2864
2872
|
}
|
|
2873
|
+
// Skip JWT validation if token is not in JWT format (e.g. opaque LTI tokens)
|
|
2874
|
+
const parts = edxJwtToken.split(".");
|
|
2875
|
+
if (parts.length !== 3) {
|
|
2876
|
+
console.warn("[AuthProvider] Token is not a valid JWT format, skipping validation");
|
|
2877
|
+
return false;
|
|
2878
|
+
}
|
|
2865
2879
|
const decodedToken = jwtDecode(edxJwtToken);
|
|
2866
2880
|
const userDataObj = JSON.parse(userData);
|
|
2867
2881
|
// Compare user_id from token with user_id from user_data
|
|
@@ -3342,6 +3356,7 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
|
|
|
3342
3356
|
"/roles/",
|
|
3343
3357
|
"/policies/",
|
|
3344
3358
|
"/usergroups/",
|
|
3359
|
+
"/watchedgroups/",
|
|
3345
3360
|
],
|
|
3346
3361
|
},
|
|
3347
3362
|
}).unwrap();
|
|
@@ -15563,6 +15578,15 @@ createApi({
|
|
|
15563
15578
|
}),
|
|
15564
15579
|
invalidatesTags: ['paywallConfig', 'paywalls'],
|
|
15565
15580
|
}),
|
|
15581
|
+
updatePaywall: builder.mutation({
|
|
15582
|
+
query: ({ platform_key, item_type, item_id, ...body }) => ({
|
|
15583
|
+
url: MONETIZATION_ENDPOINTS.PAYWALL_CONFIG.path(platform_key, item_type, item_id),
|
|
15584
|
+
service: MONETIZATION_ENDPOINTS.PAYWALL_CONFIG.service,
|
|
15585
|
+
method: 'PUT',
|
|
15586
|
+
body: JSON.stringify(body),
|
|
15587
|
+
}),
|
|
15588
|
+
invalidatesTags: ['paywallConfig', 'paywalls'],
|
|
15589
|
+
}),
|
|
15566
15590
|
disablePaywall: builder.mutation({
|
|
15567
15591
|
query: ({ platform_key, item_type, item_id }) => ({
|
|
15568
15592
|
url: MONETIZATION_ENDPOINTS.PAYWALL_CONFIG.path(platform_key, item_type, item_id),
|
|
@@ -15622,6 +15646,9 @@ createApi({
|
|
|
15622
15646
|
url: MONETIZATION_ENDPOINTS.ACCESS_CHECK.path(platform_key, item_type, item_id),
|
|
15623
15647
|
service: MONETIZATION_ENDPOINTS.ACCESS_CHECK.service,
|
|
15624
15648
|
method: 'GET',
|
|
15649
|
+
// Treat paywall-related 4xx (e.g. 402 Payment Required) as success so the
|
|
15650
|
+
// response body (has_access, pricing, reason, …) reaches the caller as `data`.
|
|
15651
|
+
validateStatus: (response) => response.ok || [402].includes(response.status),
|
|
15625
15652
|
}),
|
|
15626
15653
|
providesTags: ['accessCheck'],
|
|
15627
15654
|
}),
|
|
@@ -19084,6 +19111,231 @@ createApi({
|
|
|
19084
19111
|
}),
|
|
19085
19112
|
});
|
|
19086
19113
|
|
|
19114
|
+
const WATCHED_GROUPS_REDUCER_PATH = 'watchedGroupsApiSlice';
|
|
19115
|
+
const WATCHED_GROUPS_QUERY_KEYS = {
|
|
19116
|
+
WATCHED_GROUPS: 'WATCHED_GROUPS',
|
|
19117
|
+
WATCHED_GROUP: 'WATCHED_GROUP',
|
|
19118
|
+
WATCHED_USERS: 'WATCHED_USERS',
|
|
19119
|
+
WATCHERS: 'WATCHERS',
|
|
19120
|
+
WATCHER: 'WATCHER',
|
|
19121
|
+
};
|
|
19122
|
+
const WATCHED_GROUPS_ENDPOINTS = {
|
|
19123
|
+
LIST_WATCHED_GROUPS: {
|
|
19124
|
+
service: SERVICES.DM,
|
|
19125
|
+
path: () => `/api/core/watched-groups/`,
|
|
19126
|
+
},
|
|
19127
|
+
CREATE_WATCHED_GROUP: {
|
|
19128
|
+
service: SERVICES.DM,
|
|
19129
|
+
path: () => `/api/core/watched-groups/`,
|
|
19130
|
+
},
|
|
19131
|
+
GET_WATCHED_GROUP: {
|
|
19132
|
+
service: SERVICES.DM,
|
|
19133
|
+
path: (id) => `/api/core/watched-groups/${id}/`,
|
|
19134
|
+
},
|
|
19135
|
+
UPDATE_WATCHED_GROUP: {
|
|
19136
|
+
service: SERVICES.DM,
|
|
19137
|
+
path: (id) => `/api/core/watched-groups/${id}/`,
|
|
19138
|
+
},
|
|
19139
|
+
DELETE_WATCHED_GROUP: {
|
|
19140
|
+
service: SERVICES.DM,
|
|
19141
|
+
path: (id) => `/api/core/watched-groups/${id}/`,
|
|
19142
|
+
},
|
|
19143
|
+
LIST_WATCHED_USERS: {
|
|
19144
|
+
service: SERVICES.DM,
|
|
19145
|
+
path: (watchedGroupPk) => `/api/core/watched-groups/${watchedGroupPk}/watched-users/`,
|
|
19146
|
+
},
|
|
19147
|
+
ADD_WATCHED_USER: {
|
|
19148
|
+
service: SERVICES.DM,
|
|
19149
|
+
path: (watchedGroupPk) => `/api/core/watched-groups/${watchedGroupPk}/watched-users/`,
|
|
19150
|
+
},
|
|
19151
|
+
REMOVE_WATCHED_USER: {
|
|
19152
|
+
service: SERVICES.DM,
|
|
19153
|
+
path: (watchedGroupPk, id) => `/api/core/watched-groups/${watchedGroupPk}/watched-users/${id}/`,
|
|
19154
|
+
},
|
|
19155
|
+
LIST_WATCHERS: {
|
|
19156
|
+
service: SERVICES.DM,
|
|
19157
|
+
path: (watchedGroupPk) => `/api/core/watched-groups/${watchedGroupPk}/watchers/`,
|
|
19158
|
+
},
|
|
19159
|
+
ADD_WATCHER: {
|
|
19160
|
+
service: SERVICES.DM,
|
|
19161
|
+
path: (watchedGroupPk) => `/api/core/watched-groups/${watchedGroupPk}/watchers/`,
|
|
19162
|
+
},
|
|
19163
|
+
GET_WATCHER: {
|
|
19164
|
+
service: SERVICES.DM,
|
|
19165
|
+
path: (watchedGroupPk, id) => `/api/core/watched-groups/${watchedGroupPk}/watchers/${id}/`,
|
|
19166
|
+
},
|
|
19167
|
+
UPDATE_WATCHER: {
|
|
19168
|
+
service: SERVICES.DM,
|
|
19169
|
+
path: (watchedGroupPk, id) => `/api/core/watched-groups/${watchedGroupPk}/watchers/${id}/`,
|
|
19170
|
+
},
|
|
19171
|
+
DELETE_WATCHER: {
|
|
19172
|
+
service: SERVICES.DM,
|
|
19173
|
+
path: (watchedGroupPk, id) => `/api/core/watched-groups/${watchedGroupPk}/watchers/${id}/`,
|
|
19174
|
+
},
|
|
19175
|
+
};
|
|
19176
|
+
|
|
19177
|
+
createApi({
|
|
19178
|
+
reducerPath: WATCHED_GROUPS_REDUCER_PATH,
|
|
19179
|
+
baseQuery: iblFetchBaseQuery,
|
|
19180
|
+
tagTypes: [
|
|
19181
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUPS,
|
|
19182
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP,
|
|
19183
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHED_USERS,
|
|
19184
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHERS,
|
|
19185
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHER,
|
|
19186
|
+
],
|
|
19187
|
+
endpoints: (builder) => ({
|
|
19188
|
+
getWatchedGroups: builder.query({
|
|
19189
|
+
query: (args) => ({
|
|
19190
|
+
url: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHED_GROUPS.path(),
|
|
19191
|
+
service: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHED_GROUPS.service,
|
|
19192
|
+
method: 'GET',
|
|
19193
|
+
params: args === null || args === void 0 ? void 0 : args.params,
|
|
19194
|
+
}),
|
|
19195
|
+
providesTags: [WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUPS],
|
|
19196
|
+
}),
|
|
19197
|
+
getWatchedGroup: builder.query({
|
|
19198
|
+
query: ({ id, params }) => ({
|
|
19199
|
+
url: WATCHED_GROUPS_ENDPOINTS.GET_WATCHED_GROUP.path(id),
|
|
19200
|
+
service: WATCHED_GROUPS_ENDPOINTS.GET_WATCHED_GROUP.service,
|
|
19201
|
+
method: 'GET',
|
|
19202
|
+
params,
|
|
19203
|
+
}),
|
|
19204
|
+
providesTags: (_result, _error, { id }) => [
|
|
19205
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id },
|
|
19206
|
+
],
|
|
19207
|
+
}),
|
|
19208
|
+
createWatchedGroup: builder.mutation({
|
|
19209
|
+
query: ({ body, params }) => ({
|
|
19210
|
+
url: WATCHED_GROUPS_ENDPOINTS.CREATE_WATCHED_GROUP.path(),
|
|
19211
|
+
service: WATCHED_GROUPS_ENDPOINTS.CREATE_WATCHED_GROUP.service,
|
|
19212
|
+
method: 'POST',
|
|
19213
|
+
body,
|
|
19214
|
+
params,
|
|
19215
|
+
}),
|
|
19216
|
+
invalidatesTags: [WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUPS],
|
|
19217
|
+
}),
|
|
19218
|
+
updateWatchedGroup: builder.mutation({
|
|
19219
|
+
query: ({ id, body, params }) => ({
|
|
19220
|
+
url: WATCHED_GROUPS_ENDPOINTS.UPDATE_WATCHED_GROUP.path(id),
|
|
19221
|
+
service: WATCHED_GROUPS_ENDPOINTS.UPDATE_WATCHED_GROUP.service,
|
|
19222
|
+
method: 'PATCH',
|
|
19223
|
+
body,
|
|
19224
|
+
params,
|
|
19225
|
+
}),
|
|
19226
|
+
invalidatesTags: (_result, _error, { id }) => [
|
|
19227
|
+
WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUPS,
|
|
19228
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id },
|
|
19229
|
+
],
|
|
19230
|
+
}),
|
|
19231
|
+
deleteWatchedGroup: builder.mutation({
|
|
19232
|
+
query: ({ id, params }) => ({
|
|
19233
|
+
url: WATCHED_GROUPS_ENDPOINTS.DELETE_WATCHED_GROUP.path(id),
|
|
19234
|
+
service: WATCHED_GROUPS_ENDPOINTS.DELETE_WATCHED_GROUP.service,
|
|
19235
|
+
method: 'DELETE',
|
|
19236
|
+
params,
|
|
19237
|
+
}),
|
|
19238
|
+
invalidatesTags: [WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUPS],
|
|
19239
|
+
}),
|
|
19240
|
+
getWatchedUsers: builder.query({
|
|
19241
|
+
query: ({ watchedGroupPk, params }) => ({
|
|
19242
|
+
url: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHED_USERS.path(watchedGroupPk),
|
|
19243
|
+
service: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHED_USERS.service,
|
|
19244
|
+
method: 'GET',
|
|
19245
|
+
params,
|
|
19246
|
+
}),
|
|
19247
|
+
providesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19248
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_USERS, id: watchedGroupPk },
|
|
19249
|
+
],
|
|
19250
|
+
}),
|
|
19251
|
+
addWatchedUser: builder.mutation({
|
|
19252
|
+
query: ({ watchedGroupPk, body, params }) => ({
|
|
19253
|
+
url: WATCHED_GROUPS_ENDPOINTS.ADD_WATCHED_USER.path(watchedGroupPk),
|
|
19254
|
+
service: WATCHED_GROUPS_ENDPOINTS.ADD_WATCHED_USER.service,
|
|
19255
|
+
method: 'POST',
|
|
19256
|
+
body,
|
|
19257
|
+
params,
|
|
19258
|
+
}),
|
|
19259
|
+
invalidatesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19260
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_USERS, id: watchedGroupPk },
|
|
19261
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id: watchedGroupPk },
|
|
19262
|
+
],
|
|
19263
|
+
}),
|
|
19264
|
+
removeWatchedUser: builder.mutation({
|
|
19265
|
+
query: ({ watchedGroupPk, id, params }) => ({
|
|
19266
|
+
url: WATCHED_GROUPS_ENDPOINTS.REMOVE_WATCHED_USER.path(watchedGroupPk, id),
|
|
19267
|
+
service: WATCHED_GROUPS_ENDPOINTS.REMOVE_WATCHED_USER.service,
|
|
19268
|
+
method: 'DELETE',
|
|
19269
|
+
params,
|
|
19270
|
+
}),
|
|
19271
|
+
invalidatesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19272
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_USERS, id: watchedGroupPk },
|
|
19273
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id: watchedGroupPk },
|
|
19274
|
+
],
|
|
19275
|
+
}),
|
|
19276
|
+
getWatchers: builder.query({
|
|
19277
|
+
query: ({ watchedGroupPk, params }) => ({
|
|
19278
|
+
url: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHERS.path(watchedGroupPk),
|
|
19279
|
+
service: WATCHED_GROUPS_ENDPOINTS.LIST_WATCHERS.service,
|
|
19280
|
+
method: 'GET',
|
|
19281
|
+
params,
|
|
19282
|
+
}),
|
|
19283
|
+
providesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19284
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHERS, id: watchedGroupPk },
|
|
19285
|
+
],
|
|
19286
|
+
}),
|
|
19287
|
+
addWatcher: builder.mutation({
|
|
19288
|
+
query: ({ watchedGroupPk, body, params }) => ({
|
|
19289
|
+
url: WATCHED_GROUPS_ENDPOINTS.ADD_WATCHER.path(watchedGroupPk),
|
|
19290
|
+
service: WATCHED_GROUPS_ENDPOINTS.ADD_WATCHER.service,
|
|
19291
|
+
method: 'POST',
|
|
19292
|
+
body,
|
|
19293
|
+
params,
|
|
19294
|
+
}),
|
|
19295
|
+
invalidatesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19296
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHERS, id: watchedGroupPk },
|
|
19297
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id: watchedGroupPk },
|
|
19298
|
+
],
|
|
19299
|
+
}),
|
|
19300
|
+
getWatcher: builder.query({
|
|
19301
|
+
query: ({ watchedGroupPk, id, params }) => ({
|
|
19302
|
+
url: WATCHED_GROUPS_ENDPOINTS.GET_WATCHER.path(watchedGroupPk, id),
|
|
19303
|
+
service: WATCHED_GROUPS_ENDPOINTS.GET_WATCHER.service,
|
|
19304
|
+
method: 'GET',
|
|
19305
|
+
params,
|
|
19306
|
+
}),
|
|
19307
|
+
providesTags: (_result, _error, { watchedGroupPk, id }) => [
|
|
19308
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHER, id: `${watchedGroupPk}-${id}` },
|
|
19309
|
+
],
|
|
19310
|
+
}),
|
|
19311
|
+
updateWatcher: builder.mutation({
|
|
19312
|
+
query: ({ watchedGroupPk, id, body, params }) => ({
|
|
19313
|
+
url: WATCHED_GROUPS_ENDPOINTS.UPDATE_WATCHER.path(watchedGroupPk, id),
|
|
19314
|
+
service: WATCHED_GROUPS_ENDPOINTS.UPDATE_WATCHER.service,
|
|
19315
|
+
method: 'PATCH',
|
|
19316
|
+
body,
|
|
19317
|
+
params,
|
|
19318
|
+
}),
|
|
19319
|
+
invalidatesTags: (_result, _error, { watchedGroupPk, id }) => [
|
|
19320
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHERS, id: watchedGroupPk },
|
|
19321
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHER, id: `${watchedGroupPk}-${id}` },
|
|
19322
|
+
],
|
|
19323
|
+
}),
|
|
19324
|
+
deleteWatcher: builder.mutation({
|
|
19325
|
+
query: ({ watchedGroupPk, id, params }) => ({
|
|
19326
|
+
url: WATCHED_GROUPS_ENDPOINTS.DELETE_WATCHER.path(watchedGroupPk, id),
|
|
19327
|
+
service: WATCHED_GROUPS_ENDPOINTS.DELETE_WATCHER.service,
|
|
19328
|
+
method: 'DELETE',
|
|
19329
|
+
params,
|
|
19330
|
+
}),
|
|
19331
|
+
invalidatesTags: (_result, _error, { watchedGroupPk }) => [
|
|
19332
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHERS, id: watchedGroupPk },
|
|
19333
|
+
{ type: WATCHED_GROUPS_QUERY_KEYS.WATCHED_GROUP, id: watchedGroupPk },
|
|
19334
|
+
],
|
|
19335
|
+
}),
|
|
19336
|
+
}),
|
|
19337
|
+
});
|
|
19338
|
+
|
|
19087
19339
|
function useMentorSettings({ mentorId, tenantKey, username, isPublicRoute, }) {
|
|
19088
19340
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
19089
19341
|
const isLoggedIn = username !== ANONYMOUS_USERNAME;
|