@iblai/iblai-api 4.251.0-core → 4.252.0-core

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 (45) hide show
  1. package/dist/index.cjs.js +564 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +565 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +564 -1
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +16 -0
  8. package/dist/types/models/EventsEnum.d.ts +34 -0
  9. package/dist/types/models/PaginatedWatchedGroupListList.d.ts +7 -0
  10. package/dist/types/models/PaginatedWatchedUserReadList.d.ts +7 -0
  11. package/dist/types/models/PaginatedWatcherReadList.d.ts +7 -0
  12. package/dist/types/models/PatchedWatchedGroupUpdate.d.ts +8 -0
  13. package/dist/types/models/PatchedWatcherUpdate.d.ts +7 -0
  14. package/dist/types/models/WatchedGroupCreate.d.ts +21 -0
  15. package/dist/types/models/WatchedGroupDetail.d.ts +16 -0
  16. package/dist/types/models/WatchedGroupList.d.ts +8 -0
  17. package/dist/types/models/WatchedGroupUpdate.d.ts +8 -0
  18. package/dist/types/models/WatchedUserRead.d.ts +11 -0
  19. package/dist/types/models/WatchedUserWrite.d.ts +9 -0
  20. package/dist/types/models/WatcherEntry.d.ts +8 -0
  21. package/dist/types/models/WatcherRead.d.ts +16 -0
  22. package/dist/types/models/WatcherUpdate.d.ts +7 -0
  23. package/dist/types/models/WatcherWrite.d.ts +11 -0
  24. package/dist/types/services/CoreService.d.ts +364 -0
  25. package/package.json +1 -1
  26. package/sdk_schema.yml +1269 -104
  27. package/src/core/OpenAPI.ts +1 -1
  28. package/src/index.ts +16 -0
  29. package/src/models/EventsEnum.ts +38 -0
  30. package/src/models/PaginatedWatchedGroupListList.ts +12 -0
  31. package/src/models/PaginatedWatchedUserReadList.ts +12 -0
  32. package/src/models/PaginatedWatcherReadList.ts +12 -0
  33. package/src/models/PatchedWatchedGroupUpdate.ts +13 -0
  34. package/src/models/PatchedWatcherUpdate.ts +12 -0
  35. package/src/models/WatchedGroupCreate.ts +26 -0
  36. package/src/models/WatchedGroupDetail.ts +21 -0
  37. package/src/models/WatchedGroupList.ts +13 -0
  38. package/src/models/WatchedGroupUpdate.ts +13 -0
  39. package/src/models/WatchedUserRead.ts +16 -0
  40. package/src/models/WatchedUserWrite.ts +14 -0
  41. package/src/models/WatcherEntry.ts +13 -0
  42. package/src/models/WatcherRead.ts +21 -0
  43. package/src/models/WatcherUpdate.ts +12 -0
  44. package/src/models/WatcherWrite.ts +16 -0
  45. package/src/services/CoreService.ts +711 -0
package/dist/index.cjs.js CHANGED
@@ -110,7 +110,7 @@ class CancelablePromise {
110
110
 
111
111
  const OpenAPI = {
112
112
  BASE: 'https://base.manager.iblai.app',
113
- VERSION: '4.251.0-core',
113
+ VERSION: '4.252.0-core',
114
114
  WITH_CREDENTIALS: false,
115
115
  CREDENTIALS: 'include',
116
116
  TOKEN: undefined,
@@ -275,6 +275,46 @@ exports.EthnicityEnum = void 0;
275
275
  EthnicityEnum["OTHER"] = "other";
276
276
  })(exports.EthnicityEnum || (exports.EthnicityEnum = {}));
277
277
 
278
+ /* generated using openapi-typescript-codegen -- do not edit */
279
+ /* istanbul ignore file */
280
+ /* tslint:disable */
281
+ /* eslint-disable */
282
+ /**
283
+ * * `USER_NOTIF_COURSE_ENROLLMENT` - Course Enrollment
284
+ * * `ADMIN_NOTIF_COURSE_ENROLLMENT` - Admin: Course Enrollment
285
+ * * `USER_NOTIF_USER_INACTIVITY` - User Inactivity
286
+ * * `USER_NOTIF_COURSE_COMPLETION` - Course Completion
287
+ * * `USER_NOTIF_CREDENTIALS` - Credentials Issued
288
+ * * `USER_NOTIF_LEARNER_PROGRESS` - Learner Progress
289
+ * * `PROACTIVE_LEARNER_NOTIFICATION` - Proactive Learner Notification
290
+ * * `ACTIVITY_NEW_CONTENT` - New Activity Content
291
+ * * `ACTIVITY_COURSE_MILESTONE` - Course Milestone Reached
292
+ * * `SKILL_MASTERY_CHANGE` - Skill Mastery Change
293
+ * * `PROGRAM_ENROLLMENT_CONFIRMATION` - Program Enrollment Confirmed
294
+ * * `PATHWAY_ENROLLMENT_CONFIRMATION` - Pathway Enrollment Confirmed
295
+ * * `COURSE_SCHEDULE_CHANGE` - Course Schedule Change
296
+ * * `COURSES_PROGRESS_SUMMARY` - Courses Progress Summary
297
+ * * `SUBSECTION_GRADE_UPDATE` - Subsection Grade Update
298
+ */
299
+ exports.EventsEnum = void 0;
300
+ (function (EventsEnum) {
301
+ EventsEnum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
302
+ EventsEnum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
303
+ EventsEnum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
304
+ EventsEnum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
305
+ EventsEnum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
306
+ EventsEnum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
307
+ EventsEnum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
308
+ EventsEnum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
309
+ EventsEnum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
310
+ EventsEnum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
311
+ EventsEnum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
312
+ EventsEnum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
313
+ EventsEnum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
314
+ EventsEnum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
315
+ EventsEnum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
316
+ })(exports.EventsEnum || (exports.EventsEnum = {}));
317
+
278
318
  /* generated using openapi-typescript-codegen -- do not edit */
279
319
  /* istanbul ignore file */
280
320
  /* tslint:disable */
@@ -17890,6 +17930,529 @@ class CoreService {
17890
17930
  }
17891
17931
  });
17892
17932
  }
17933
+ /**
17934
+ * List watched groups visible to the caller
17935
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
17936
+ * POST here accepts an optional `watchers` array as a create-time convenience.
17937
+ * @returns PaginatedWatchedGroupListList
17938
+ * @throws ApiError
17939
+ */
17940
+ static coreWatchedGroupsList({
17941
+ limit,
17942
+ offset,
17943
+ platformKey
17944
+ }) {
17945
+ return request(OpenAPI, {
17946
+ method: 'GET',
17947
+ url: '/api/core/watched-groups/',
17948
+ query: {
17949
+ 'limit': limit,
17950
+ 'offset': offset,
17951
+ 'platform_key': platformKey
17952
+ },
17953
+ errors: {
17954
+ 403: `Permission denied`,
17955
+ 404: `Platform not found`
17956
+ }
17957
+ });
17958
+ }
17959
+ /**
17960
+ * Create a watched group
17961
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
17962
+ * POST here accepts an optional `watchers` array as a create-time convenience.
17963
+ * @returns WatchedGroupDetail
17964
+ * @throws ApiError
17965
+ */
17966
+ static coreWatchedGroupsCreate({
17967
+ requestBody,
17968
+ platformKey,
17969
+ watchedUserLimit,
17970
+ watcherLimit
17971
+ }) {
17972
+ return request(OpenAPI, {
17973
+ method: 'POST',
17974
+ url: '/api/core/watched-groups/',
17975
+ query: {
17976
+ 'platform_key': platformKey,
17977
+ 'watched_user_limit': watchedUserLimit,
17978
+ 'watcher_limit': watcherLimit
17979
+ },
17980
+ body: requestBody,
17981
+ mediaType: 'application/json',
17982
+ errors: {
17983
+ 400: `Invalid request`,
17984
+ 403: `Permission denied`
17985
+ }
17986
+ });
17987
+ }
17988
+ /**
17989
+ * Retrieve a watched group
17990
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
17991
+ * POST here accepts an optional `watchers` array as a create-time convenience.
17992
+ * @returns WatchedGroupDetail
17993
+ * @throws ApiError
17994
+ */
17995
+ static coreWatchedGroupsRetrieve({
17996
+ id,
17997
+ platformKey,
17998
+ watchedUserLimit,
17999
+ watcherLimit
18000
+ }) {
18001
+ return request(OpenAPI, {
18002
+ method: 'GET',
18003
+ url: '/api/core/watched-groups/{id}/',
18004
+ path: {
18005
+ 'id': id
18006
+ },
18007
+ query: {
18008
+ 'platform_key': platformKey,
18009
+ 'watched_user_limit': watchedUserLimit,
18010
+ 'watcher_limit': watcherLimit
18011
+ },
18012
+ errors: {
18013
+ 403: `Permission denied`,
18014
+ 404: `Not found`
18015
+ }
18016
+ });
18017
+ }
18018
+ /**
18019
+ * Update a watched group's name
18020
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
18021
+ * POST here accepts an optional `watchers` array as a create-time convenience.
18022
+ * @returns WatchedGroupDetail
18023
+ * @throws ApiError
18024
+ */
18025
+ static coreWatchedGroupsUpdate({
18026
+ id,
18027
+ platformKey,
18028
+ watchedUserLimit,
18029
+ watcherLimit,
18030
+ requestBody
18031
+ }) {
18032
+ return request(OpenAPI, {
18033
+ method: 'PUT',
18034
+ url: '/api/core/watched-groups/{id}/',
18035
+ path: {
18036
+ 'id': id
18037
+ },
18038
+ query: {
18039
+ 'platform_key': platformKey,
18040
+ 'watched_user_limit': watchedUserLimit,
18041
+ 'watcher_limit': watcherLimit
18042
+ },
18043
+ body: requestBody,
18044
+ mediaType: 'application/json',
18045
+ errors: {
18046
+ 400: `Invalid request`,
18047
+ 403: `Permission denied`,
18048
+ 404: `Not found`
18049
+ }
18050
+ });
18051
+ }
18052
+ /**
18053
+ * Partially update a watched group's name
18054
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
18055
+ * POST here accepts an optional `watchers` array as a create-time convenience.
18056
+ * @returns WatchedGroupDetail
18057
+ * @throws ApiError
18058
+ */
18059
+ static coreWatchedGroupsPartialUpdate({
18060
+ id,
18061
+ platformKey,
18062
+ watchedUserLimit,
18063
+ watcherLimit,
18064
+ requestBody
18065
+ }) {
18066
+ return request(OpenAPI, {
18067
+ method: 'PATCH',
18068
+ url: '/api/core/watched-groups/{id}/',
18069
+ path: {
18070
+ 'id': id
18071
+ },
18072
+ query: {
18073
+ 'platform_key': platformKey,
18074
+ 'watched_user_limit': watchedUserLimit,
18075
+ 'watcher_limit': watcherLimit
18076
+ },
18077
+ body: requestBody,
18078
+ mediaType: 'application/json',
18079
+ errors: {
18080
+ 400: `Invalid request`,
18081
+ 403: `Permission denied`,
18082
+ 404: `Not found`
18083
+ }
18084
+ });
18085
+ }
18086
+ /**
18087
+ * Delete a watched group
18088
+ * CRUD for WatchedGroup. Watcher mutations live on the nested /watchers/ endpoint;
18089
+ * POST here accepts an optional `watchers` array as a create-time convenience.
18090
+ * @returns void
18091
+ * @throws ApiError
18092
+ */
18093
+ static coreWatchedGroupsDestroy({
18094
+ id,
18095
+ platformKey
18096
+ }) {
18097
+ return request(OpenAPI, {
18098
+ method: 'DELETE',
18099
+ url: '/api/core/watched-groups/{id}/',
18100
+ path: {
18101
+ 'id': id
18102
+ },
18103
+ query: {
18104
+ 'platform_key': platformKey
18105
+ },
18106
+ errors: {
18107
+ 403: `Permission denied`,
18108
+ 404: `Not found`
18109
+ }
18110
+ });
18111
+ }
18112
+ /**
18113
+ * List watched users in a watched group (paginated)
18114
+ * CRUD-minus-update for watched users (UserGroupLink rows) under a WatchedGroup.
18115
+ *
18116
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchedusers/{link_id}/
18117
+ * No PATCH/PUT — there's nothing meaningful to update on a UserGroupLink for
18118
+ * this feature. Add via POST, remove via DELETE.
18119
+ * @returns PaginatedWatchedUserReadList
18120
+ * @throws ApiError
18121
+ */
18122
+ static coreWatchedGroupsWatchedUsersList({
18123
+ watchedGroupPk,
18124
+ limit,
18125
+ offset,
18126
+ platformKey
18127
+ }) {
18128
+ return request(OpenAPI, {
18129
+ method: 'GET',
18130
+ url: '/api/core/watched-groups/{watched_group_pk}/watched-users/',
18131
+ path: {
18132
+ 'watched_group_pk': watchedGroupPk
18133
+ },
18134
+ query: {
18135
+ 'limit': limit,
18136
+ 'offset': offset,
18137
+ 'platform_key': platformKey
18138
+ },
18139
+ errors: {
18140
+ 403: `Permission denied`,
18141
+ 404: `WatchedGroup not found`
18142
+ }
18143
+ });
18144
+ }
18145
+ /**
18146
+ * Add a user to the watched group
18147
+ * CRUD-minus-update for watched users (UserGroupLink rows) under a WatchedGroup.
18148
+ *
18149
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchedusers/{link_id}/
18150
+ * No PATCH/PUT — there's nothing meaningful to update on a UserGroupLink for
18151
+ * this feature. Add via POST, remove via DELETE.
18152
+ * @returns WatchedUserRead
18153
+ * @throws ApiError
18154
+ */
18155
+ static coreWatchedGroupsWatchedUsersCreate({
18156
+ watchedGroupPk,
18157
+ requestBody,
18158
+ platformKey
18159
+ }) {
18160
+ return request(OpenAPI, {
18161
+ method: 'POST',
18162
+ url: '/api/core/watched-groups/{watched_group_pk}/watched-users/',
18163
+ path: {
18164
+ 'watched_group_pk': watchedGroupPk
18165
+ },
18166
+ query: {
18167
+ 'platform_key': platformKey
18168
+ },
18169
+ body: requestBody,
18170
+ mediaType: 'application/json',
18171
+ errors: {
18172
+ 400: `Invalid payload`,
18173
+ 403: `Permission denied`,
18174
+ 404: `WatchedGroup not found`
18175
+ }
18176
+ });
18177
+ }
18178
+ /**
18179
+ * Retrieve a single watched-user link
18180
+ * CRUD-minus-update for watched users (UserGroupLink rows) under a WatchedGroup.
18181
+ *
18182
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchedusers/{link_id}/
18183
+ * No PATCH/PUT — there's nothing meaningful to update on a UserGroupLink for
18184
+ * this feature. Add via POST, remove via DELETE.
18185
+ * @returns WatchedUserRead
18186
+ * @throws ApiError
18187
+ */
18188
+ static coreWatchedGroupsWatchedUsersRetrieve({
18189
+ id,
18190
+ watchedGroupPk,
18191
+ platformKey
18192
+ }) {
18193
+ return request(OpenAPI, {
18194
+ method: 'GET',
18195
+ url: '/api/core/watched-groups/{watched_group_pk}/watched-users/{id}/',
18196
+ path: {
18197
+ 'id': id,
18198
+ 'watched_group_pk': watchedGroupPk
18199
+ },
18200
+ query: {
18201
+ 'platform_key': platformKey
18202
+ },
18203
+ errors: {
18204
+ 403: `Permission denied`,
18205
+ 404: `Not found`
18206
+ }
18207
+ });
18208
+ }
18209
+ /**
18210
+ * Remove a user from the watched group
18211
+ * CRUD-minus-update for watched users (UserGroupLink rows) under a WatchedGroup.
18212
+ *
18213
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchedusers/{link_id}/
18214
+ * No PATCH/PUT — there's nothing meaningful to update on a UserGroupLink for
18215
+ * this feature. Add via POST, remove via DELETE.
18216
+ * @returns void
18217
+ * @throws ApiError
18218
+ */
18219
+ static coreWatchedGroupsWatchedUsersDestroy({
18220
+ id,
18221
+ watchedGroupPk,
18222
+ platformKey
18223
+ }) {
18224
+ return request(OpenAPI, {
18225
+ method: 'DELETE',
18226
+ url: '/api/core/watched-groups/{watched_group_pk}/watched-users/{id}/',
18227
+ path: {
18228
+ 'id': id,
18229
+ 'watched_group_pk': watchedGroupPk
18230
+ },
18231
+ query: {
18232
+ 'platform_key': platformKey
18233
+ },
18234
+ errors: {
18235
+ 403: `Permission denied`,
18236
+ 404: `Not found`
18237
+ }
18238
+ });
18239
+ }
18240
+ /**
18241
+ * List watchers of a watched group (paginated)
18242
+ * CRUD for watchers nested under a WatchedGroup.
18243
+ *
18244
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18245
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18246
+ * watcher row:
18247
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18248
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18249
+ * `Ibl.Core/Watchers*`)
18250
+ * @returns PaginatedWatcherReadList
18251
+ * @throws ApiError
18252
+ */
18253
+ static coreWatchedGroupsWatchersList({
18254
+ watchedGroupPk,
18255
+ limit,
18256
+ offset,
18257
+ platformKey
18258
+ }) {
18259
+ return request(OpenAPI, {
18260
+ method: 'GET',
18261
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/',
18262
+ path: {
18263
+ 'watched_group_pk': watchedGroupPk
18264
+ },
18265
+ query: {
18266
+ 'limit': limit,
18267
+ 'offset': offset,
18268
+ 'platform_key': platformKey
18269
+ },
18270
+ errors: {
18271
+ 403: `Permission denied`,
18272
+ 404: `WatchedGroup not found`
18273
+ }
18274
+ });
18275
+ }
18276
+ /**
18277
+ * Add a watcher to a watched group
18278
+ * CRUD for watchers nested under a WatchedGroup.
18279
+ *
18280
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18281
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18282
+ * watcher row:
18283
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18284
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18285
+ * `Ibl.Core/Watchers*`)
18286
+ * @returns WatcherRead
18287
+ * @throws ApiError
18288
+ */
18289
+ static coreWatchedGroupsWatchersCreate({
18290
+ watchedGroupPk,
18291
+ requestBody,
18292
+ platformKey
18293
+ }) {
18294
+ return request(OpenAPI, {
18295
+ method: 'POST',
18296
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/',
18297
+ path: {
18298
+ 'watched_group_pk': watchedGroupPk
18299
+ },
18300
+ query: {
18301
+ 'platform_key': platformKey
18302
+ },
18303
+ body: requestBody,
18304
+ mediaType: 'application/json',
18305
+ errors: {
18306
+ 400: `Invalid payload`,
18307
+ 403: `Permission denied`,
18308
+ 404: `WatchedGroup not found`
18309
+ }
18310
+ });
18311
+ }
18312
+ /**
18313
+ * Retrieve a single watcher
18314
+ * CRUD for watchers nested under a WatchedGroup.
18315
+ *
18316
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18317
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18318
+ * watcher row:
18319
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18320
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18321
+ * `Ibl.Core/Watchers*`)
18322
+ * @returns WatcherRead
18323
+ * @throws ApiError
18324
+ */
18325
+ static coreWatchedGroupsWatchersRetrieve({
18326
+ id,
18327
+ watchedGroupPk,
18328
+ platformKey
18329
+ }) {
18330
+ return request(OpenAPI, {
18331
+ method: 'GET',
18332
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/{id}/',
18333
+ path: {
18334
+ 'id': id,
18335
+ 'watched_group_pk': watchedGroupPk
18336
+ },
18337
+ query: {
18338
+ 'platform_key': platformKey
18339
+ },
18340
+ errors: {
18341
+ 403: `Permission denied`,
18342
+ 404: `Not found`
18343
+ }
18344
+ });
18345
+ }
18346
+ /**
18347
+ * Replace a watcher's events
18348
+ * CRUD for watchers nested under a WatchedGroup.
18349
+ *
18350
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18351
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18352
+ * watcher row:
18353
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18354
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18355
+ * `Ibl.Core/Watchers*`)
18356
+ * @returns WatcherRead
18357
+ * @throws ApiError
18358
+ */
18359
+ static coreWatchedGroupsWatchersUpdate({
18360
+ id,
18361
+ watchedGroupPk,
18362
+ requestBody,
18363
+ platformKey
18364
+ }) {
18365
+ return request(OpenAPI, {
18366
+ method: 'PUT',
18367
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/{id}/',
18368
+ path: {
18369
+ 'id': id,
18370
+ 'watched_group_pk': watchedGroupPk
18371
+ },
18372
+ query: {
18373
+ 'platform_key': platformKey
18374
+ },
18375
+ body: requestBody,
18376
+ mediaType: 'application/json',
18377
+ errors: {
18378
+ 400: `Invalid payload`,
18379
+ 403: `Permission denied`,
18380
+ 404: `Not found`
18381
+ }
18382
+ });
18383
+ }
18384
+ /**
18385
+ * Update a watcher's events
18386
+ * CRUD for watchers nested under a WatchedGroup.
18387
+ *
18388
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18389
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18390
+ * watcher row:
18391
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18392
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18393
+ * `Ibl.Core/Watchers*`)
18394
+ * @returns WatcherRead
18395
+ * @throws ApiError
18396
+ */
18397
+ static coreWatchedGroupsWatchersPartialUpdate({
18398
+ id,
18399
+ watchedGroupPk,
18400
+ platformKey,
18401
+ requestBody
18402
+ }) {
18403
+ return request(OpenAPI, {
18404
+ method: 'PATCH',
18405
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/{id}/',
18406
+ path: {
18407
+ 'id': id,
18408
+ 'watched_group_pk': watchedGroupPk
18409
+ },
18410
+ query: {
18411
+ 'platform_key': platformKey
18412
+ },
18413
+ body: requestBody,
18414
+ mediaType: 'application/json',
18415
+ errors: {
18416
+ 400: `Invalid payload`,
18417
+ 403: `Permission denied`,
18418
+ 404: `Not found`
18419
+ }
18420
+ });
18421
+ }
18422
+ /**
18423
+ * Remove (or unsubscribe) a watcher from a watched group
18424
+ * CRUD for watchers nested under a WatchedGroup.
18425
+ *
18426
+ * Resource path: /platforms/{pk}/watchedgroups/{wg_id}/watchers/{watcher_id}/
18427
+ * `is_owner` here covers two cases that both deserve owner-level perms on a
18428
+ * watcher row:
18429
+ * - the watcher themselves (WATCHER_OWNER well-known role)
18430
+ * - the parent WatchedGroup's owner (WATCHED_GROUP_OWNER role grants
18431
+ * `Ibl.Core/Watchers*`)
18432
+ * @returns void
18433
+ * @throws ApiError
18434
+ */
18435
+ static coreWatchedGroupsWatchersDestroy({
18436
+ id,
18437
+ watchedGroupPk,
18438
+ platformKey
18439
+ }) {
18440
+ return request(OpenAPI, {
18441
+ method: 'DELETE',
18442
+ url: '/api/core/watched-groups/{watched_group_pk}/watchers/{id}/',
18443
+ path: {
18444
+ 'id': id,
18445
+ 'watched_group_pk': watchedGroupPk
18446
+ },
18447
+ query: {
18448
+ 'platform_key': platformKey
18449
+ },
18450
+ errors: {
18451
+ 403: `Permission denied`,
18452
+ 404: `Not found`
18453
+ }
18454
+ });
18455
+ }
17893
18456
  /**
17894
18457
  * Get a list of departments with metrics and filtering options.
17895
18458
  *