@actschurch/ccms-sdk 0.0.25 → 0.0.27

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 (123) hide show
  1. package/dist/models/accounselling/ModelView/CareSessionModelView.d.ts +7 -0
  2. package/dist/models/accounselling/ModelView/CareSessionModelView.d.ts.map +1 -1
  3. package/dist/models/accourses/FacilitatorCourse.d.ts +22 -0
  4. package/dist/models/accourses/FacilitatorCourse.d.ts.map +1 -0
  5. package/dist/models/accourses/FacilitatorCourse.js +2 -0
  6. package/dist/models/accourses/FacilitatorCourse.js.map +1 -0
  7. package/dist/models/accourses/FacilitatorDocument.d.ts +30 -0
  8. package/dist/models/accourses/FacilitatorDocument.d.ts.map +1 -0
  9. package/dist/models/accourses/FacilitatorDocument.js +2 -0
  10. package/dist/models/accourses/FacilitatorDocument.js.map +1 -0
  11. package/dist/models/accourses/FacilitatorLocation.d.ts +22 -0
  12. package/dist/models/accourses/FacilitatorLocation.d.ts.map +1 -0
  13. package/dist/models/accourses/FacilitatorLocation.js +2 -0
  14. package/dist/models/accourses/FacilitatorLocation.js.map +1 -0
  15. package/dist/models/accourses/ModelView/ACCourseModelView.d.ts +2 -0
  16. package/dist/models/accourses/ModelView/ACCourseModelView.d.ts.map +1 -1
  17. package/dist/models/accourses/ModelView/CourseFileModelView.d.ts +15 -0
  18. package/dist/models/accourses/ModelView/CourseFileModelView.d.ts.map +1 -1
  19. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts +118 -0
  20. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts.map +1 -0
  21. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.js +7 -0
  22. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.js.map +1 -0
  23. package/dist/models/accourses/ModelView/index.d.ts +1 -0
  24. package/dist/models/accourses/ModelView/index.d.ts.map +1 -1
  25. package/dist/models/accourses/ModelView/index.js +1 -0
  26. package/dist/models/accourses/ModelView/index.js.map +1 -1
  27. package/dist/models/accourses/index.d.ts +3 -0
  28. package/dist/models/accourses/index.d.ts.map +1 -1
  29. package/dist/models/accourses/index.js +3 -0
  30. package/dist/models/accourses/index.js.map +1 -1
  31. package/dist/models/analytics/KnowledgeSearch.d.ts +10 -0
  32. package/dist/models/analytics/KnowledgeSearch.d.ts.map +1 -1
  33. package/dist/models/dashboard/index.d.ts +282 -3
  34. package/dist/models/dashboard/index.d.ts.map +1 -1
  35. package/dist/models/dashboard/index.js +315 -3
  36. package/dist/models/dashboard/index.js.map +1 -1
  37. package/dist/models/resources/ModelView/CourseModelView.d.ts +17 -0
  38. package/dist/models/resources/ModelView/CourseModelView.d.ts.map +1 -1
  39. package/dist/models/resources/ResourceSettings.d.ts +31 -0
  40. package/dist/models/resources/ResourceSettings.d.ts.map +1 -0
  41. package/dist/models/resources/ResourceSettings.js +2 -0
  42. package/dist/models/resources/ResourceSettings.js.map +1 -0
  43. package/dist/models/resources/SessionNote.d.ts +30 -0
  44. package/dist/models/resources/SessionNote.d.ts.map +1 -0
  45. package/dist/models/resources/SessionNote.js +2 -0
  46. package/dist/models/resources/SessionNote.js.map +1 -0
  47. package/dist/models/resources/index.d.ts +2 -0
  48. package/dist/models/resources/index.d.ts.map +1 -1
  49. package/dist/models/resources/index.js +3 -0
  50. package/dist/models/resources/index.js.map +1 -1
  51. package/dist/react/hooks/services/useResourcesServices.d.ts +5 -1
  52. package/dist/react/hooks/services/useResourcesServices.d.ts.map +1 -1
  53. package/dist/react/hooks/services/useResourcesServices.js +6 -0
  54. package/dist/react/hooks/services/useResourcesServices.js.map +1 -1
  55. package/dist/realtime/dashboards/DashboardAggregatorClient.d.ts +48 -0
  56. package/dist/realtime/dashboards/DashboardAggregatorClient.d.ts.map +1 -0
  57. package/dist/realtime/dashboards/DashboardAggregatorClient.js +65 -0
  58. package/dist/realtime/dashboards/DashboardAggregatorClient.js.map +1 -0
  59. package/dist/realtime/dashboards/index.d.ts +1 -0
  60. package/dist/realtime/dashboards/index.d.ts.map +1 -1
  61. package/dist/realtime/dashboards/index.js +3 -0
  62. package/dist/realtime/dashboards/index.js.map +1 -1
  63. package/dist/services/accounselling/CareCaseService.d.ts +45 -1
  64. package/dist/services/accounselling/CareCaseService.d.ts.map +1 -1
  65. package/dist/services/accounselling/CareCaseService.js +65 -0
  66. package/dist/services/accounselling/CareCaseService.js.map +1 -1
  67. package/dist/services/accourses/ACCourseService.d.ts +61 -1
  68. package/dist/services/accourses/ACCourseService.d.ts.map +1 -1
  69. package/dist/services/accourses/ACCourseService.js +198 -0
  70. package/dist/services/accourses/ACCourseService.js.map +1 -1
  71. package/dist/services/accourses/FacilitatorService.d.ts +37 -1
  72. package/dist/services/accourses/FacilitatorService.d.ts.map +1 -1
  73. package/dist/services/accourses/FacilitatorService.js +135 -0
  74. package/dist/services/accourses/FacilitatorService.js.map +1 -1
  75. package/dist/services/dashboard/DashboardAggregatorService.d.ts +73 -0
  76. package/dist/services/dashboard/DashboardAggregatorService.d.ts.map +1 -0
  77. package/dist/services/dashboard/DashboardAggregatorService.js +145 -0
  78. package/dist/services/dashboard/DashboardAggregatorService.js.map +1 -0
  79. package/dist/services/dashboard/DashboardLayoutService.d.ts +46 -0
  80. package/dist/services/dashboard/DashboardLayoutService.d.ts.map +1 -0
  81. package/dist/services/dashboard/DashboardLayoutService.js +75 -0
  82. package/dist/services/dashboard/DashboardLayoutService.js.map +1 -0
  83. package/dist/services/dashboard/DashboardServices.d.ts +38 -0
  84. package/dist/services/dashboard/DashboardServices.d.ts.map +1 -0
  85. package/dist/services/dashboard/DashboardServices.js +28 -0
  86. package/dist/services/dashboard/DashboardServices.js.map +1 -0
  87. package/dist/services/dashboard/index.d.ts +11 -0
  88. package/dist/services/dashboard/index.d.ts.map +1 -0
  89. package/dist/services/dashboard/index.js +10 -0
  90. package/dist/services/dashboard/index.js.map +1 -0
  91. package/dist/services/index.d.ts +1 -0
  92. package/dist/services/index.d.ts.map +1 -1
  93. package/dist/services/index.js +2 -0
  94. package/dist/services/index.js.map +1 -1
  95. package/dist/services/knowledgebase/KnowledgeBaseQAService.d.ts +7 -1
  96. package/dist/services/knowledgebase/KnowledgeBaseQAService.d.ts.map +1 -1
  97. package/dist/services/knowledgebase/KnowledgeBaseQAService.js +11 -0
  98. package/dist/services/knowledgebase/KnowledgeBaseQAService.js.map +1 -1
  99. package/dist/services/members/MemberService.d.ts +17 -0
  100. package/dist/services/members/MemberService.d.ts.map +1 -1
  101. package/dist/services/members/MemberService.js +27 -0
  102. package/dist/services/members/MemberService.js.map +1 -1
  103. package/dist/services/resources/PublicCoursesService.d.ts +7 -0
  104. package/dist/services/resources/PublicCoursesService.d.ts.map +1 -1
  105. package/dist/services/resources/PublicCoursesService.js +12 -0
  106. package/dist/services/resources/PublicCoursesService.js.map +1 -1
  107. package/dist/services/resources/ResourceSettingsService.d.ts +26 -0
  108. package/dist/services/resources/ResourceSettingsService.d.ts.map +1 -0
  109. package/dist/services/resources/ResourceSettingsService.js +43 -0
  110. package/dist/services/resources/ResourceSettingsService.js.map +1 -0
  111. package/dist/services/resources/SessionNoteService.d.ts +27 -0
  112. package/dist/services/resources/SessionNoteService.d.ts.map +1 -0
  113. package/dist/services/resources/SessionNoteService.js +44 -0
  114. package/dist/services/resources/SessionNoteService.js.map +1 -0
  115. package/dist/services/resources/UserCourseProgressService.d.ts +9 -0
  116. package/dist/services/resources/UserCourseProgressService.d.ts.map +1 -1
  117. package/dist/services/resources/UserCourseProgressService.js +13 -0
  118. package/dist/services/resources/UserCourseProgressService.js.map +1 -1
  119. package/dist/services/resources/index.d.ts +6 -0
  120. package/dist/services/resources/index.d.ts.map +1 -1
  121. package/dist/services/resources/index.js +6 -0
  122. package/dist/services/resources/index.js.map +1 -1
  123. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CourseModelView.d.ts","sourceRoot":"","sources":["../../../../src/models/resources/ModelView/CourseModelView.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"CourseModelView.d.ts","sourceRoot":"","sources":["../../../../src/models/resources/ModelView/CourseModelView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGlC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAGrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAIlC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;IAC7D,kBAAkB,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;IAC1D,wBAAwB,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Resource Settings Entity
3
+ *
4
+ * Single-row settings entity holding the admin-managed Resource Centre feature
5
+ * toggles enforced inside the ResourceManagement service.
6
+ *
7
+ * Note: the AI Search / AI Chat (RAG) toggles are NOT here — they live in AI
8
+ * Management as AIFeatureFlag rows (see {@link AiFeatureFlag}). Mirror of the
9
+ * backend `CCMSLib.Models.Resources.ResourceSettings`.
10
+ */
11
+ export interface ResourceSettings {
12
+ /** Primary key (single-row table) */
13
+ settingsID: number;
14
+ /** When false, the public course/KB catalogue endpoints return nothing. */
15
+ enablePublicCatalogue: boolean;
16
+ /** Default CourseVisibility lookup id applied to newly created courses/articles. */
17
+ defaultCourseVisibilityID: number;
18
+ /** When true, newly created courses/articles publish immediately (no Draft). */
19
+ autoPublishNewResources: boolean;
20
+ /** Optional support/contact email surfaced in the public Resource Centre. */
21
+ adminContactEmail?: string | null;
22
+ /** yyyyMMddHHmmss numeric timestamps. */
23
+ modifiedDateTime: number;
24
+ createdDateTime: number;
25
+ }
26
+ /** Anonymous-safe subset returned by GET api/resource-settings/public. */
27
+ export interface PublicResourceSettings {
28
+ enablePublicCatalogue: boolean;
29
+ adminContactEmail?: string | null;
30
+ }
31
+ //# sourceMappingURL=ResourceSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceSettings.d.ts","sourceRoot":"","sources":["../../../src/models/resources/ResourceSettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,qBAAqB,EAAE,OAAO,CAAC;IAE/B,oFAAoF;IACpF,yBAAyB,EAAE,MAAM,CAAC;IAElC,gFAAgF;IAChF,uBAAuB,EAAE,OAAO,CAAC;IAEjC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ResourceSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceSettings.js","sourceRoot":"","sources":["../../../src/models/resources/ResourceSettings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Session Note
3
+ * A server-synced free-text study note a viewer keeps against a single
4
+ * CourseSession. One active note per (sessionID, viewer) — the viewer is the
5
+ * signed-in user (userID) or, for anonymous visitors, the client-supplied
6
+ * anonymousID. Content travels as plain text; the backend persists it
7
+ * Base64-encoded at rest. Timestamps are numeric yyyyMMddHHmmss.
8
+ */
9
+ export interface SessionNote {
10
+ sessionNoteID: number;
11
+ sessionID: number;
12
+ courseID?: number | null;
13
+ userID?: string | null;
14
+ anonymousID?: string | null;
15
+ content: string;
16
+ createdDateTime: number;
17
+ modifiedDateTime: number;
18
+ isActive: boolean;
19
+ }
20
+ /**
21
+ * Request body for upserting the caller's session note.
22
+ * Matches POST api/session-notes.
23
+ */
24
+ export interface SessionNoteUpsertRequest {
25
+ sessionID: number;
26
+ courseID?: number | null;
27
+ content: string;
28
+ anonymousID?: string | null;
29
+ }
30
+ //# sourceMappingURL=SessionNote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionNote.d.ts","sourceRoot":"","sources":["../../../src/models/resources/SessionNote.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SessionNote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionNote.js","sourceRoot":"","sources":["../../../src/models/resources/SessionNote.ts"],"names":[],"mappings":""}
@@ -16,8 +16,10 @@ export * from './ResourceUsageAction';
16
16
  export * from './UserCourseProgress';
17
17
  export * from './UserProgressStatus';
18
18
  export * from './UserSessionProgress';
19
+ export * from './SessionNote';
19
20
  export * from './UpdateCourseRequest';
20
21
  export * from './UpdateCourseCategoryRequest';
22
+ export * from './ResourceSettings';
21
23
  export * from './ModelView';
22
24
  export * from './CacheKeys';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAG9C,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAG9C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC"}
@@ -17,9 +17,12 @@ export * from './ResourceUsageAction';
17
17
  export * from './UserCourseProgress';
18
18
  export * from './UserProgressStatus';
19
19
  export * from './UserSessionProgress';
20
+ export * from './SessionNote';
20
21
  // Partial-update request DTOs
21
22
  export * from './UpdateCourseRequest';
22
23
  export * from './UpdateCourseCategoryRequest';
24
+ // Settings
25
+ export * from './ResourceSettings';
23
26
  // Model Views
24
27
  export * from './ModelView';
25
28
  // Cache Keys
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,8BAA8B;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAE9C,cAAc;AACd,cAAc,aAAa,CAAC;AAE5B,aAAa;AACb,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAE9B,8BAA8B;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAE9C,WAAW;AACX,cAAc,oBAAoB,CAAC;AAEnC,cAAc;AACd,cAAc,aAAa,CAAC;AAE5B,aAAa;AACb,cAAc,aAAa,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Resources Service Hooks
3
3
  * React hooks for accessing resource management services
4
4
  */
5
- import { ResourcesServices, CourseService, CourseCategoryService, CourseSessionService, UsageLogService, CourseStatusService, CourseCategoryStatusService, CourseSessionStatusService, CourseSessionTypeService, PublicCoursesService, PublicCategoriesService, PublicCategoriesEnrichedService, UserCourseProgressService, UserSessionProgressService, UserProgressStatusService, CourseVisibilityService, CoursePrerequisiteService, ResourceUsageActionService } from '../../../services/resources';
5
+ import { ResourcesServices, CourseService, CourseCategoryService, CourseSessionService, UsageLogService, CourseStatusService, CourseCategoryStatusService, CourseSessionStatusService, CourseSessionTypeService, PublicCoursesService, PublicCategoriesService, PublicCategoriesEnrichedService, UserCourseProgressService, UserSessionProgressService, UserProgressStatusService, CourseVisibilityService, CoursePrerequisiteService, ResourceUsageActionService, ResourceSettingsService } from '../../../services/resources';
6
6
  /**
7
7
  * Hook to access all resources-related services
8
8
  * @returns ResourcesServices object containing all resources service instances
@@ -84,4 +84,8 @@ export declare function useCoursePrerequisiteService(): CoursePrerequisiteServic
84
84
  * Hook to access ResourceUsageActionService
85
85
  */
86
86
  export declare function useResourceUsageActionService(): ResourceUsageActionService;
87
+ /**
88
+ * Hook to access ResourceSettingsService (Resource Centre platform settings)
89
+ */
90
+ export declare function useResourceSettingsService(): ResourceSettingsService;
87
91
  //# sourceMappingURL=useResourcesServices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResourcesServices.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/services/useResourcesServices.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,2BAA2B,CAE5E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAEtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,+BAA+B,CAEpF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E"}
1
+ {"version":3,"file":"useResourcesServices.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/services/useResourcesServices.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,2BAA2B,CAE5E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAEtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,+BAA+B,CAEpF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE"}
@@ -124,4 +124,10 @@ export function useCoursePrerequisiteService() {
124
124
  export function useResourceUsageActionService() {
125
125
  return useResourcesServices().resourceUsageAction;
126
126
  }
127
+ /**
128
+ * Hook to access ResourceSettingsService (Resource Centre platform settings)
129
+ */
130
+ export function useResourceSettingsService() {
131
+ return useResourcesServices().resourceSettings;
132
+ }
127
133
  //# sourceMappingURL=useResourcesServices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResourcesServices.js","sourceRoot":"","sources":["../../../../src/react/hooks/services/useResourcesServices.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAsBrC;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,oBAAoB,EAAE,CAAC,cAAc,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,EAAE,CAAC,aAAa,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,oBAAoB,EAAE,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,EAAE,CAAC,iBAAiB,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,EAAE,CAAC,aAAa,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC;IAChD,OAAO,oBAAoB,EAAE,CAAC,wBAAwB,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"useResourcesServices.js","sourceRoot":"","sources":["../../../../src/react/hooks/services/useResourcesServices.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAuBrC;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,oBAAoB,EAAE,CAAC,cAAc,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,EAAE,CAAC,aAAa,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,oBAAoB,EAAE,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,EAAE,CAAC,iBAAiB,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,EAAE,CAAC,aAAa,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC;IAChD,OAAO,oBAAoB,EAAE,CAAC,wBAAwB,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;AACjD,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * DashboardAggregatorClient
3
+ * SignalR client for the Dashboard-Aggregator realtime hub (`/hubs/dashboard`).
4
+ *
5
+ * The aggregator exposes ONE hub the Hub app connects to instead of N per-domain
6
+ * connections. Server → client messages:
7
+ * - `WidgetDelta` — a single refreshed {@link DashboardWidget}; merge by `widgetId`.
8
+ * - `WidgetInvalidated` — `{ widgetIds: string[] }`; re-fetch just those widgets.
9
+ *
10
+ * Mirrors the iOS `DashboardRealtimeClient` and the Kotlin
11
+ * `DashboardAggregatorHubClient`. Distinct from {@link DomainDashboardClient}
12
+ * (the admin per-domain `/hubs/dashboard/{domain}` client) — kept separate.
13
+ *
14
+ * Local events emitted (subscribe via {@link BaseSignalRClient.on}):
15
+ * - `'widgetDelta'` → {@link DashboardWidget}
16
+ * - `'widgetInvalidated'` → `string[]` (the invalidated widget ids)
17
+ */
18
+ import { BaseSignalRClient } from '../shared/BaseSignalRClient';
19
+ import { SignalRClientOptions } from '../shared/types';
20
+ import type { DashboardWidget } from '../../models/dashboard';
21
+ /** Payload shape of the server's `WidgetInvalidated` message. */
22
+ export interface WidgetInvalidatedPayload {
23
+ widgetIds: string[];
24
+ }
25
+ /**
26
+ * Client for the cross-domain dashboard aggregator hub.
27
+ * Connects to `/hubs/dashboard` on the aggregator WebSocket service.
28
+ */
29
+ export declare class DashboardAggregatorClient extends BaseSignalRClient {
30
+ constructor(baseUrl: string, getToken: () => Promise<string | null>, options?: SignalRClientOptions);
31
+ /**
32
+ * Register server-to-client event handlers.
33
+ */
34
+ protected setupServerMethods(): void;
35
+ /**
36
+ * Subscribe to refreshed widgets pushed by the hub.
37
+ * @param handler - Invoked with each refreshed {@link DashboardWidget}.
38
+ * @returns An unsubscribe handle.
39
+ */
40
+ onWidgetDelta(handler: (widget: DashboardWidget) => void): import("../shared/types").SubscriptionHandle;
41
+ /**
42
+ * Subscribe to widget-invalidation notifications pushed by the hub.
43
+ * @param handler - Invoked with the list of invalidated widget ids.
44
+ * @returns An unsubscribe handle.
45
+ */
46
+ onWidgetInvalidated(handler: (widgetIds: string[]) => void): import("../shared/types").SubscriptionHandle;
47
+ }
48
+ //# sourceMappingURL=DashboardAggregatorClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardAggregatorClient.d.ts","sourceRoot":"","sources":["../../../src/realtime/dashboards/DashboardAggregatorClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;gBAE5D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACtC,OAAO,GAAE,oBAAyB;IAQpC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAiBpC;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;IAI/D;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI;CAGlE"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * DashboardAggregatorClient
3
+ * SignalR client for the Dashboard-Aggregator realtime hub (`/hubs/dashboard`).
4
+ *
5
+ * The aggregator exposes ONE hub the Hub app connects to instead of N per-domain
6
+ * connections. Server → client messages:
7
+ * - `WidgetDelta` — a single refreshed {@link DashboardWidget}; merge by `widgetId`.
8
+ * - `WidgetInvalidated` — `{ widgetIds: string[] }`; re-fetch just those widgets.
9
+ *
10
+ * Mirrors the iOS `DashboardRealtimeClient` and the Kotlin
11
+ * `DashboardAggregatorHubClient`. Distinct from {@link DomainDashboardClient}
12
+ * (the admin per-domain `/hubs/dashboard/{domain}` client) — kept separate.
13
+ *
14
+ * Local events emitted (subscribe via {@link BaseSignalRClient.on}):
15
+ * - `'widgetDelta'` → {@link DashboardWidget}
16
+ * - `'widgetInvalidated'` → `string[]` (the invalidated widget ids)
17
+ */
18
+ import { BaseSignalRClient } from '../shared/BaseSignalRClient';
19
+ /**
20
+ * Client for the cross-domain dashboard aggregator hub.
21
+ * Connects to `/hubs/dashboard` on the aggregator WebSocket service.
22
+ */
23
+ export class DashboardAggregatorClient extends BaseSignalRClient {
24
+ constructor(baseUrl, getToken, options = {}) {
25
+ const hubUrl = baseUrl.endsWith('/hubs/dashboard')
26
+ ? baseUrl
27
+ : `${baseUrl.replace(/\/+$/, '')}/hubs/dashboard`;
28
+ super(hubUrl, getToken, options);
29
+ }
30
+ /**
31
+ * Register server-to-client event handlers.
32
+ */
33
+ setupServerMethods() {
34
+ if (!this.connection)
35
+ return;
36
+ // A single refreshed widget — the Hub merges it by widgetId.
37
+ this.connection.on('WidgetDelta', (widget) => {
38
+ this.emit('widgetDelta', widget);
39
+ });
40
+ // A set of widget ids the server marked stale — the Hub re-fetches them.
41
+ this.connection.on('WidgetInvalidated', (payload) => {
42
+ const ids = payload?.widgetIds ?? [];
43
+ if (ids.length > 0) {
44
+ this.emit('widgetInvalidated', ids);
45
+ }
46
+ });
47
+ }
48
+ /**
49
+ * Subscribe to refreshed widgets pushed by the hub.
50
+ * @param handler - Invoked with each refreshed {@link DashboardWidget}.
51
+ * @returns An unsubscribe handle.
52
+ */
53
+ onWidgetDelta(handler) {
54
+ return this.on('widgetDelta', handler);
55
+ }
56
+ /**
57
+ * Subscribe to widget-invalidation notifications pushed by the hub.
58
+ * @param handler - Invoked with the list of invalidated widget ids.
59
+ * @returns An unsubscribe handle.
60
+ */
61
+ onWidgetInvalidated(handler) {
62
+ return this.on('widgetInvalidated', handler);
63
+ }
64
+ }
65
+ //# sourceMappingURL=DashboardAggregatorClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardAggregatorClient.js","sourceRoot":"","sources":["../../../src/realtime/dashboards/DashboardAggregatorClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAShE;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,iBAAiB;IAC9D,YACE,OAAe,EACf,QAAsC,EACtC,UAAgC,EAAE;QAElC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC;QACpD,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,kBAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,6DAA6D;QAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAuB,EAAE,EAAE;YAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAiC,EAAE,EAAE;YAC5E,MAAM,GAAG,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAA0C;QAC7D,OAAO,IAAI,CAAC,EAAE,CAAkB,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,OAAsC;QAC/D,OAAO,IAAI,CAAC,EAAE,CAAW,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -5,4 +5,5 @@
5
5
  export * from './types';
6
6
  export { DomainDashboardClient } from './DomainDashboardClient';
7
7
  export { useDomainDashboard } from './hooks/useDomainDashboard';
8
+ export { DashboardAggregatorClient, type WidgetInvalidatedPayload, } from './DashboardAggregatorClient';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/realtime/dashboards/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/realtime/dashboards/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,EACL,yBAAyB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,6BAA6B,CAAC"}
@@ -5,4 +5,7 @@
5
5
  export * from './types';
6
6
  export { DomainDashboardClient } from './DomainDashboardClient';
7
7
  export { useDomainDashboard } from './hooks/useDomainDashboard';
8
+ // Cross-domain "my day at CCMS" dashboard aggregator hub (/hubs/dashboard).
9
+ // Distinct from the admin per-domain DomainDashboardClient above.
10
+ export { DashboardAggregatorClient, } from './DashboardAggregatorClient';
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/realtime/dashboards/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/realtime/dashboards/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,4EAA4E;AAC5E,kEAAkE;AAClE,OAAO,EACL,yBAAyB,GAE1B,MAAM,6BAA6B,CAAC"}
@@ -7,7 +7,7 @@ import { CrudService } from '../base/CrudService';
7
7
  import type { HttpClient } from '../../core/HttpClient';
8
8
  import type { ResponseData } from '../../models/common';
9
9
  import type { ServiceConfig } from '../types';
10
- import type { CareCase, CareCaseFile, CareCaseNote, CreateCareCase, UpdateCareCaseRequest, CareCaseFilterModel, CareCaseListViewResponse, CareCaseModelView, CareDashboardStats, CreateCareCaseNote } from '../../models/accounselling';
10
+ import type { CareCase, CareCaseFile, CareCaseNote, CreateCareCase, UpdateCareCaseRequest, CareCaseFilterModel, CareCaseListViewResponse, CareCaseModelView, CareDashboardStats, CreateCareCaseNote, UpdateCareCaseNoteRequest } from '../../models/accounselling';
11
11
  /**
12
12
  * Service for care case CRUD operations, paged list views, detail views,
13
13
  * leader/member assignment, the case note audit trail and file attachments
@@ -122,6 +122,36 @@ export declare class CareCaseService extends CrudService<CareCase, CreateCareCas
122
122
  * @returns ResponseData with the created case note
123
123
  */
124
124
  addNoteRaw(caseId: number, data: CreateCareCaseNote): Promise<ResponseData<CareCaseNote>>;
125
+ /**
126
+ * Update a case note
127
+ * @param caseId - The case ID
128
+ * @param noteId - The note ID
129
+ * @param data - Partial note payload (only supplied fields are applied)
130
+ * @returns The updated case note
131
+ */
132
+ updateNote(caseId: number, noteId: number, data: UpdateCareCaseNoteRequest): Promise<CareCaseNote>;
133
+ /**
134
+ * Update a case note with full response
135
+ * @param caseId - The case ID
136
+ * @param noteId - The note ID
137
+ * @param data - Partial note payload
138
+ * @returns ResponseData with the updated case note
139
+ */
140
+ updateNoteRaw(caseId: number, noteId: number, data: UpdateCareCaseNoteRequest): Promise<ResponseData<CareCaseNote>>;
141
+ /**
142
+ * Delete a case note
143
+ * @param caseId - The case ID
144
+ * @param noteId - The note ID
145
+ * @returns True if deleted successfully
146
+ */
147
+ deleteNote(caseId: number, noteId: number): Promise<boolean>;
148
+ /**
149
+ * Delete a case note with full response
150
+ * @param caseId - The case ID
151
+ * @param noteId - The note ID
152
+ * @returns ResponseData (success/fail)
153
+ */
154
+ deleteNoteRaw(caseId: number, noteId: number): Promise<ResponseData<void>>;
125
155
  /**
126
156
  * Attach a file to a case
127
157
  * @param caseId - The case ID
@@ -136,5 +166,19 @@ export declare class CareCaseService extends CrudService<CareCase, CreateCareCas
136
166
  * @returns ResponseData with the created case file
137
167
  */
138
168
  addFileRaw(caseId: number, file: Partial<CareCaseFile>): Promise<ResponseData<CareCaseFile>>;
169
+ /**
170
+ * Delete a case file
171
+ * @param caseId - The case ID
172
+ * @param fileId - The file ID
173
+ * @returns True if deleted successfully
174
+ */
175
+ deleteFile(caseId: number, fileId: number): Promise<boolean>;
176
+ /**
177
+ * Delete a case file with full response
178
+ * @param caseId - The case ID
179
+ * @param fileId - The file ID
180
+ * @returns ResponseData (success/fail)
181
+ */
182
+ deleteFileRaw(caseId: number, fileId: number): Promise<ResponseData<void>>;
139
183
  }
140
184
  //# sourceMappingURL=CareCaseService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CareCaseService.d.ts","sourceRoot":"","sources":["../../../src/services/accounselling/CareCaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CareCaseService.d.ts","sourceRoot":"","sources":["../../../src/services/accounselling/CareCaseService.ts"],"names":[],"mappings":"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"}
@@ -186,6 +186,51 @@ export class CareCaseService extends CrudService {
186
186
  const url = this.buildUrl(`${caseId}/notes`);
187
187
  return this.http.post(url, data);
188
188
  }
189
+ /**
190
+ * Update a case note
191
+ * @param caseId - The case ID
192
+ * @param noteId - The note ID
193
+ * @param data - Partial note payload (only supplied fields are applied)
194
+ * @returns The updated case note
195
+ */
196
+ async updateNote(caseId, noteId, data) {
197
+ const response = await this.updateNoteRaw(caseId, noteId, data);
198
+ if (!response.data) {
199
+ throw new Error(`Failed to update note ${noteId} on care case ${caseId}`);
200
+ }
201
+ return response.data;
202
+ }
203
+ /**
204
+ * Update a case note with full response
205
+ * @param caseId - The case ID
206
+ * @param noteId - The note ID
207
+ * @param data - Partial note payload
208
+ * @returns ResponseData with the updated case note
209
+ */
210
+ updateNoteRaw(caseId, noteId, data) {
211
+ const url = this.buildUrl(`${caseId}/notes/${noteId}`);
212
+ return this.http.put(url, data);
213
+ }
214
+ /**
215
+ * Delete a case note
216
+ * @param caseId - The case ID
217
+ * @param noteId - The note ID
218
+ * @returns True if deleted successfully
219
+ */
220
+ async deleteNote(caseId, noteId) {
221
+ const response = await this.deleteNoteRaw(caseId, noteId);
222
+ return response.success;
223
+ }
224
+ /**
225
+ * Delete a case note with full response
226
+ * @param caseId - The case ID
227
+ * @param noteId - The note ID
228
+ * @returns ResponseData (success/fail)
229
+ */
230
+ deleteNoteRaw(caseId, noteId) {
231
+ const url = this.buildUrl(`${caseId}/notes/${noteId}`);
232
+ return this.http.delete(url);
233
+ }
189
234
  /**
190
235
  * Attach a file to a case
191
236
  * @param caseId - The case ID
@@ -209,6 +254,26 @@ export class CareCaseService extends CrudService {
209
254
  const url = this.buildUrl(`${caseId}/files`);
210
255
  return this.http.post(url, file);
211
256
  }
257
+ /**
258
+ * Delete a case file
259
+ * @param caseId - The case ID
260
+ * @param fileId - The file ID
261
+ * @returns True if deleted successfully
262
+ */
263
+ async deleteFile(caseId, fileId) {
264
+ const response = await this.deleteFileRaw(caseId, fileId);
265
+ return response.success;
266
+ }
267
+ /**
268
+ * Delete a case file with full response
269
+ * @param caseId - The case ID
270
+ * @param fileId - The file ID
271
+ * @returns ResponseData (success/fail)
272
+ */
273
+ deleteFileRaw(caseId, fileId) {
274
+ const url = this.buildUrl(`${caseId}/files/${fileId}`);
275
+ return this.http.delete(url);
276
+ }
212
277
  }
213
278
  CareCaseService.DEFAULT_SERVICE_PATH = 'ac-counselling';
214
279
  CareCaseService.BASE_PATH = 'api/care-cases';
@@ -1 +1 @@
1
- {"version":3,"file":"CareCaseService.js","sourceRoot":"","sources":["../../../src/services/accounselling/CareCaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CareCaseService.js","sourceRoot":"","sources":["../../../src/services/accounselling/CareCaseService.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { CrudService } from '../base/CrudService';
6
6
  import type { HttpClient } from '../../core/HttpClient';
7
7
  import type { ResponseData } from '../../models/common';
8
8
  import type { ServiceConfig } from '../types';
9
- import type { ACCourse, CreateACCourse, UpdateACCourseRequest, ACCourseModelView, ACCourseFilterModel, ACCourseDashboardStats } from '../../models/accourses';
9
+ import type { ACCourse, CreateACCourse, UpdateACCourseRequest, ACCourseModelView, ACCourseFilterModel, ACCourseDashboardStats, ACCourseSession, ACCourseSessionModelView, CreateACCourseSession, UpdateACCourseSessionRequest, CourseDate, CourseDateModelView, CreateCourseDate, UpdateCourseDateRequest, CourseFile, CourseFileModelView, CreateCourseFile, UpdateCourseFileRequest, FacilitatorCourse, CourseFacilitatorView, CourseFacilitatorRequest } from '../../models/accourses';
10
10
  /**
11
11
  * Service for course CRUD operations, list/detail views and dashboard statistics
12
12
  */
@@ -14,6 +14,18 @@ export declare class ACCourseService extends CrudService<ACCourse, CreateACCours
14
14
  private static readonly DEFAULT_SERVICE_PATH;
15
15
  private static readonly BASE_PATH;
16
16
  constructor(http: HttpClient, config?: ServiceConfig);
17
+ /**
18
+ * Get all courses as enriched model views (status, sessionCount, upcoming dates, etc.).
19
+ * GET api/courses/views
20
+ * @returns Array of course model views
21
+ */
22
+ getAllViews(): Promise<ACCourseModelView[]>;
23
+ /**
24
+ * Get all courses as enriched model views with full response.
25
+ * GET api/courses/views
26
+ * @returns ResponseData with array of course model views
27
+ */
28
+ getAllViewsRaw(): Promise<ResponseData<ACCourseModelView[]>>;
17
29
  /**
18
30
  * Get all active courses
19
31
  * @returns Array of active courses
@@ -58,5 +70,53 @@ export declare class ACCourseService extends CrudService<ACCourse, CreateACCours
58
70
  * @returns ResponseData with dashboard statistics
59
71
  */
60
72
  dashboardStatsRaw(): Promise<ResponseData<ACCourseDashboardStats>>;
73
+ /** List a course's session templates (curriculum). */
74
+ getSessions(courseId: number): Promise<ACCourseSessionModelView[]>;
75
+ getSessionsRaw(courseId: number): Promise<ResponseData<ACCourseSessionModelView[]>>;
76
+ /** Add a session template to a course. */
77
+ addSession(courseId: number, body: CreateACCourseSession): Promise<ACCourseSession>;
78
+ addSessionRaw(courseId: number, body: CreateACCourseSession): Promise<ResponseData<ACCourseSession>>;
79
+ /** Update a course's session template. */
80
+ updateSession(courseId: number, sessionId: number, body: UpdateACCourseSessionRequest): Promise<ACCourseSession>;
81
+ updateSessionRaw(courseId: number, sessionId: number, body: UpdateACCourseSessionRequest): Promise<ResponseData<ACCourseSession>>;
82
+ /** Remove a course's session template. */
83
+ removeSession(courseId: number, sessionId: number): Promise<boolean>;
84
+ removeSessionRaw(courseId: number, sessionId: number): Promise<ResponseData<void>>;
85
+ /** List a course's scheduled intake dates. */
86
+ getDates(courseId: number): Promise<CourseDateModelView[]>;
87
+ getDatesRaw(courseId: number): Promise<ResponseData<CourseDateModelView[]>>;
88
+ /** Add a scheduled intake date to a course. */
89
+ addDate(courseId: number, body: CreateCourseDate): Promise<CourseDate>;
90
+ addDateRaw(courseId: number, body: CreateCourseDate): Promise<ResponseData<CourseDate>>;
91
+ /** Update a course's intake date. */
92
+ updateDate(courseId: number, dateId: number, body: UpdateCourseDateRequest): Promise<CourseDate>;
93
+ updateDateRaw(courseId: number, dateId: number, body: UpdateCourseDateRequest): Promise<ResponseData<CourseDate>>;
94
+ /** Remove a course's intake date. */
95
+ removeDate(courseId: number, dateId: number): Promise<boolean>;
96
+ removeDateRaw(courseId: number, dateId: number): Promise<ResponseData<void>>;
97
+ /** List the facilitators assigned to a course. */
98
+ getFacilitators(courseId: number): Promise<CourseFacilitatorView[]>;
99
+ getFacilitatorsRaw(courseId: number): Promise<ResponseData<CourseFacilitatorView[]>>;
100
+ /** Assign a facilitator to a course. */
101
+ addFacilitator(courseId: number, body: CourseFacilitatorRequest): Promise<FacilitatorCourse>;
102
+ addFacilitatorRaw(courseId: number, body: CourseFacilitatorRequest): Promise<ResponseData<FacilitatorCourse>>;
103
+ /** Update a course's facilitator assignment. */
104
+ updateFacilitator(courseId: number, facilitatorCourseId: number, body: CourseFacilitatorRequest): Promise<FacilitatorCourse>;
105
+ updateFacilitatorRaw(courseId: number, facilitatorCourseId: number, body: CourseFacilitatorRequest): Promise<ResponseData<FacilitatorCourse>>;
106
+ /** Remove a course's facilitator assignment. */
107
+ removeFacilitator(courseId: number, facilitatorCourseId: number): Promise<boolean>;
108
+ removeFacilitatorRaw(courseId: number, facilitatorCourseId: number): Promise<ResponseData<void>>;
109
+ /** List a course's resource files. */
110
+ getFiles(courseId: number): Promise<CourseFileModelView[]>;
111
+ getFilesRaw(courseId: number): Promise<ResponseData<CourseFileModelView[]>>;
112
+ /** Add a resource file to a course. */
113
+ addFile(courseId: number, body: CreateCourseFile): Promise<CourseFile>;
114
+ addFileRaw(courseId: number, body: CreateCourseFile): Promise<ResponseData<CourseFile>>;
115
+ /** Update a course's resource file. */
116
+ updateFile(courseId: number, fileId: number, body: UpdateCourseFileRequest): Promise<CourseFile>;
117
+ updateFileRaw(courseId: number, fileId: number, body: UpdateCourseFileRequest): Promise<ResponseData<CourseFile>>;
118
+ /** Remove a course's resource file. */
119
+ removeFile(courseId: number, fileId: number): Promise<boolean>;
120
+ removeFileRaw(courseId: number, fileId: number): Promise<ResponseData<void>>;
61
121
  }
62
122
  //# sourceMappingURL=ACCourseService.d.ts.map