@actschurch/ccms-sdk 0.0.31 → 0.0.33

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 (572) hide show
  1. package/dist/models/accounselling/Leader.d.ts +2 -0
  2. package/dist/models/accounselling/Leader.d.ts.map +1 -1
  3. package/dist/models/accounselling/ModelView/LeaderModelView.d.ts +12 -0
  4. package/dist/models/accounselling/ModelView/LeaderModelView.d.ts.map +1 -1
  5. package/dist/models/accourses/CourseCustomField.d.ts +36 -0
  6. package/dist/models/accourses/CourseCustomField.d.ts.map +1 -0
  7. package/dist/models/accourses/CourseCustomField.js +2 -0
  8. package/dist/models/accourses/CourseCustomField.js.map +1 -0
  9. package/dist/models/accourses/CourseSession.d.ts +2 -0
  10. package/dist/models/accourses/CourseSession.d.ts.map +1 -1
  11. package/dist/models/accourses/MemberRegistration.d.ts +2 -0
  12. package/dist/models/accourses/MemberRegistration.d.ts.map +1 -1
  13. package/dist/models/accourses/ModelView/ACCourseModelView.d.ts +3 -0
  14. package/dist/models/accourses/ModelView/ACCourseModelView.d.ts.map +1 -1
  15. package/dist/models/accourses/ModelView/ACCourseSessionModelView.d.ts +9 -0
  16. package/dist/models/accourses/ModelView/ACCourseSessionModelView.d.ts.map +1 -1
  17. package/dist/models/accourses/ModelView/CourseCustomFieldModelView.d.ts +69 -0
  18. package/dist/models/accourses/ModelView/CourseCustomFieldModelView.d.ts.map +1 -0
  19. package/dist/models/accourses/ModelView/CourseCustomFieldModelView.js +2 -0
  20. package/dist/models/accourses/ModelView/CourseCustomFieldModelView.js.map +1 -0
  21. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts +2 -0
  22. package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts.map +1 -1
  23. package/dist/models/accourses/ModelView/FacilitatorModelView.d.ts +4 -0
  24. package/dist/models/accourses/ModelView/FacilitatorModelView.d.ts.map +1 -1
  25. package/dist/models/accourses/ModelView/RegistrationChildRequests.d.ts +1 -45
  26. package/dist/models/accourses/ModelView/RegistrationChildRequests.d.ts.map +1 -1
  27. package/dist/models/accourses/ModelView/RegistrationChildRequests.js +1 -1
  28. package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.d.ts +59 -0
  29. package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.d.ts.map +1 -0
  30. package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.js +2 -0
  31. package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.js.map +1 -0
  32. package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.d.ts +59 -0
  33. package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.d.ts.map +1 -0
  34. package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.js +2 -0
  35. package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.js.map +1 -0
  36. package/dist/models/accourses/ModelView/RegistrationListView.d.ts +2 -0
  37. package/dist/models/accourses/ModelView/RegistrationListView.d.ts.map +1 -1
  38. package/dist/models/accourses/ModelView/RegistrationModelView.d.ts +7 -65
  39. package/dist/models/accourses/ModelView/RegistrationModelView.d.ts.map +1 -1
  40. package/dist/models/accourses/ModelView/RegistrationNoteFileRequests.d.ts +16 -0
  41. package/dist/models/accourses/ModelView/RegistrationNoteFileRequests.d.ts.map +1 -1
  42. package/dist/models/accourses/ModelView/RegistrationSessionModelView.d.ts +12 -1
  43. package/dist/models/accourses/ModelView/RegistrationSessionModelView.d.ts.map +1 -1
  44. package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.d.ts +41 -0
  45. package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.d.ts.map +1 -0
  46. package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.js +2 -0
  47. package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.js.map +1 -0
  48. package/dist/models/accourses/ModelView/SessionCustomFieldModelView.d.ts +69 -0
  49. package/dist/models/accourses/ModelView/SessionCustomFieldModelView.d.ts.map +1 -0
  50. package/dist/models/accourses/ModelView/SessionCustomFieldModelView.js +2 -0
  51. package/dist/models/accourses/ModelView/SessionCustomFieldModelView.js.map +1 -0
  52. package/dist/models/accourses/ModelView/index.d.ts +5 -0
  53. package/dist/models/accourses/ModelView/index.d.ts.map +1 -1
  54. package/dist/models/accourses/ModelView/index.js +5 -0
  55. package/dist/models/accourses/ModelView/index.js.map +1 -1
  56. package/dist/models/accourses/RegistrationCourseCustomData.d.ts +27 -0
  57. package/dist/models/accourses/RegistrationCourseCustomData.d.ts.map +1 -0
  58. package/dist/models/accourses/RegistrationCourseCustomData.js +2 -0
  59. package/dist/models/accourses/RegistrationCourseCustomData.js.map +1 -0
  60. package/dist/models/accourses/RegistrationCustomSessionData.d.ts +27 -0
  61. package/dist/models/accourses/RegistrationCustomSessionData.d.ts.map +1 -0
  62. package/dist/models/accourses/RegistrationCustomSessionData.js +2 -0
  63. package/dist/models/accourses/RegistrationCustomSessionData.js.map +1 -0
  64. package/dist/models/accourses/RegistrationSession.d.ts +2 -0
  65. package/dist/models/accourses/RegistrationSession.d.ts.map +1 -1
  66. package/dist/models/accourses/RegistrationSessionNote.d.ts +32 -0
  67. package/dist/models/accourses/RegistrationSessionNote.d.ts.map +1 -0
  68. package/dist/models/accourses/RegistrationSessionNote.js +2 -0
  69. package/dist/models/accourses/RegistrationSessionNote.js.map +1 -0
  70. package/dist/models/accourses/SessionCustomField.d.ts +36 -0
  71. package/dist/models/accourses/SessionCustomField.d.ts.map +1 -0
  72. package/dist/models/accourses/SessionCustomField.js +2 -0
  73. package/dist/models/accourses/SessionCustomField.js.map +1 -0
  74. package/dist/models/accourses/index.d.ts +5 -2
  75. package/dist/models/accourses/index.d.ts.map +1 -1
  76. package/dist/models/accourses/index.js +5 -2
  77. package/dist/models/accourses/index.js.map +1 -1
  78. package/dist/models/ai/AiBudgetAnalytics.d.ts +150 -0
  79. package/dist/models/ai/AiBudgetAnalytics.d.ts.map +1 -0
  80. package/dist/models/ai/AiBudgetAnalytics.js +13 -0
  81. package/dist/models/ai/AiBudgetAnalytics.js.map +1 -0
  82. package/dist/models/ai/index.d.ts +1 -0
  83. package/dist/models/ai/index.d.ts.map +1 -1
  84. package/dist/models/ai/index.js +1 -0
  85. package/dist/models/ai/index.js.map +1 -1
  86. package/dist/models/applicationcatalogue/AppDistribution.d.ts +284 -0
  87. package/dist/models/applicationcatalogue/AppDistribution.d.ts.map +1 -0
  88. package/dist/models/applicationcatalogue/AppDistribution.js +39 -0
  89. package/dist/models/applicationcatalogue/AppDistribution.js.map +1 -0
  90. package/dist/models/applicationcatalogue/index.d.ts +1 -0
  91. package/dist/models/applicationcatalogue/index.d.ts.map +1 -1
  92. package/dist/models/applicationcatalogue/index.js +1 -0
  93. package/dist/models/applicationcatalogue/index.js.map +1 -1
  94. package/dist/models/budgets/Budget.d.ts +57 -0
  95. package/dist/models/budgets/Budget.d.ts.map +1 -0
  96. package/dist/models/budgets/Budget.js +2 -0
  97. package/dist/models/budgets/Budget.js.map +1 -0
  98. package/dist/models/budgets/BudgetAlert.d.ts +29 -0
  99. package/dist/models/budgets/BudgetAlert.d.ts.map +1 -0
  100. package/dist/models/budgets/BudgetAlert.js +2 -0
  101. package/dist/models/budgets/BudgetAlert.js.map +1 -0
  102. package/dist/models/budgets/BudgetAlertThreshold.d.ts +19 -0
  103. package/dist/models/budgets/BudgetAlertThreshold.d.ts.map +1 -0
  104. package/dist/models/budgets/BudgetAlertThreshold.js +2 -0
  105. package/dist/models/budgets/BudgetAlertThreshold.js.map +1 -0
  106. package/dist/models/budgets/BudgetAllocation.d.ts +21 -0
  107. package/dist/models/budgets/BudgetAllocation.d.ts.map +1 -0
  108. package/dist/models/budgets/BudgetAllocation.js +2 -0
  109. package/dist/models/budgets/BudgetAllocation.js.map +1 -0
  110. package/dist/models/budgets/BudgetAmountInputType.d.ts +17 -0
  111. package/dist/models/budgets/BudgetAmountInputType.d.ts.map +1 -0
  112. package/dist/models/budgets/BudgetAmountInputType.js +2 -0
  113. package/dist/models/budgets/BudgetAmountInputType.js.map +1 -0
  114. package/dist/models/budgets/BudgetAnalyticsV3.d.ts +180 -0
  115. package/dist/models/budgets/BudgetAnalyticsV3.d.ts.map +1 -0
  116. package/dist/models/budgets/BudgetAnalyticsV3.js +5 -0
  117. package/dist/models/budgets/BudgetAnalyticsV3.js.map +1 -0
  118. package/dist/models/budgets/BudgetApproval.d.ts +20 -0
  119. package/dist/models/budgets/BudgetApproval.d.ts.map +1 -0
  120. package/dist/models/budgets/BudgetApproval.js +2 -0
  121. package/dist/models/budgets/BudgetApproval.js.map +1 -0
  122. package/dist/models/budgets/BudgetApprovalStatus.d.ts +16 -0
  123. package/dist/models/budgets/BudgetApprovalStatus.d.ts.map +1 -0
  124. package/dist/models/budgets/BudgetApprovalStatus.js +2 -0
  125. package/dist/models/budgets/BudgetApprovalStatus.js.map +1 -0
  126. package/dist/models/budgets/BudgetCategory.d.ts +23 -0
  127. package/dist/models/budgets/BudgetCategory.d.ts.map +1 -0
  128. package/dist/models/budgets/BudgetCategory.js +2 -0
  129. package/dist/models/budgets/BudgetCategory.js.map +1 -0
  130. package/dist/models/budgets/BudgetChangeRequest.d.ts +28 -0
  131. package/dist/models/budgets/BudgetChangeRequest.d.ts.map +1 -0
  132. package/dist/models/budgets/BudgetChangeRequest.js +2 -0
  133. package/dist/models/budgets/BudgetChangeRequest.js.map +1 -0
  134. package/dist/models/budgets/BudgetChangeRequestType.d.ts +16 -0
  135. package/dist/models/budgets/BudgetChangeRequestType.d.ts.map +1 -0
  136. package/dist/models/budgets/BudgetChangeRequestType.js +2 -0
  137. package/dist/models/budgets/BudgetChangeRequestType.js.map +1 -0
  138. package/dist/models/budgets/BudgetForecast.d.ts +151 -0
  139. package/dist/models/budgets/BudgetForecast.d.ts.map +1 -0
  140. package/dist/models/budgets/BudgetForecast.js +9 -0
  141. package/dist/models/budgets/BudgetForecast.js.map +1 -0
  142. package/dist/models/budgets/BudgetFundingSourceType.d.ts +17 -0
  143. package/dist/models/budgets/BudgetFundingSourceType.d.ts.map +1 -0
  144. package/dist/models/budgets/BudgetFundingSourceType.js +2 -0
  145. package/dist/models/budgets/BudgetFundingSourceType.js.map +1 -0
  146. package/dist/models/budgets/BudgetHealthStatus.d.ts +18 -0
  147. package/dist/models/budgets/BudgetHealthStatus.d.ts.map +1 -0
  148. package/dist/models/budgets/BudgetHealthStatus.js +2 -0
  149. package/dist/models/budgets/BudgetHealthStatus.js.map +1 -0
  150. package/dist/models/budgets/BudgetItem.d.ts +33 -0
  151. package/dist/models/budgets/BudgetItem.d.ts.map +1 -0
  152. package/dist/models/budgets/BudgetItem.js +2 -0
  153. package/dist/models/budgets/BudgetItem.js.map +1 -0
  154. package/dist/models/budgets/BudgetRelease.d.ts +22 -0
  155. package/dist/models/budgets/BudgetRelease.d.ts.map +1 -0
  156. package/dist/models/budgets/BudgetRelease.js +2 -0
  157. package/dist/models/budgets/BudgetRelease.js.map +1 -0
  158. package/dist/models/budgets/BudgetReleaseValueType.d.ts +17 -0
  159. package/dist/models/budgets/BudgetReleaseValueType.d.ts.map +1 -0
  160. package/dist/models/budgets/BudgetReleaseValueType.js +2 -0
  161. package/dist/models/budgets/BudgetReleaseValueType.js.map +1 -0
  162. package/dist/models/budgets/BudgetSelection.d.ts +18 -0
  163. package/dist/models/budgets/BudgetSelection.d.ts.map +1 -0
  164. package/dist/models/budgets/BudgetSelection.js +2 -0
  165. package/dist/models/budgets/BudgetSelection.js.map +1 -0
  166. package/dist/models/budgets/BudgetSetting.d.ts +41 -0
  167. package/dist/models/budgets/BudgetSetting.d.ts.map +1 -0
  168. package/dist/models/budgets/BudgetSetting.js +2 -0
  169. package/dist/models/budgets/BudgetSetting.js.map +1 -0
  170. package/dist/models/budgets/BudgetStatus.d.ts +19 -0
  171. package/dist/models/budgets/BudgetStatus.d.ts.map +1 -0
  172. package/dist/models/budgets/BudgetStatus.js +2 -0
  173. package/dist/models/budgets/BudgetStatus.js.map +1 -0
  174. package/dist/models/budgets/BudgetTransaction.d.ts +45 -0
  175. package/dist/models/budgets/BudgetTransaction.d.ts.map +1 -0
  176. package/dist/models/budgets/BudgetTransaction.js +2 -0
  177. package/dist/models/budgets/BudgetTransaction.js.map +1 -0
  178. package/dist/models/budgets/BudgetTransactionSource.d.ts +17 -0
  179. package/dist/models/budgets/BudgetTransactionSource.d.ts.map +1 -0
  180. package/dist/models/budgets/BudgetTransactionSource.js +2 -0
  181. package/dist/models/budgets/BudgetTransactionSource.js.map +1 -0
  182. package/dist/models/budgets/BudgetTransactionType.d.ts +17 -0
  183. package/dist/models/budgets/BudgetTransactionType.d.ts.map +1 -0
  184. package/dist/models/budgets/BudgetTransactionType.js +2 -0
  185. package/dist/models/budgets/BudgetTransactionType.js.map +1 -0
  186. package/dist/models/budgets/BudgetType.d.ts +16 -0
  187. package/dist/models/budgets/BudgetType.d.ts.map +1 -0
  188. package/dist/models/budgets/BudgetType.js +2 -0
  189. package/dist/models/budgets/BudgetType.js.map +1 -0
  190. package/dist/models/budgets/ModelView/BudgetAlertModelView.d.ts +29 -0
  191. package/dist/models/budgets/ModelView/BudgetAlertModelView.d.ts.map +1 -0
  192. package/dist/models/budgets/ModelView/BudgetAlertModelView.js +2 -0
  193. package/dist/models/budgets/ModelView/BudgetAlertModelView.js.map +1 -0
  194. package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.d.ts +25 -0
  195. package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.d.ts.map +1 -0
  196. package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.js +9 -0
  197. package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.js.map +1 -0
  198. package/dist/models/budgets/ModelView/BudgetAnalyticsRow.d.ts +20 -0
  199. package/dist/models/budgets/ModelView/BudgetAnalyticsRow.d.ts.map +1 -0
  200. package/dist/models/budgets/ModelView/BudgetAnalyticsRow.js +2 -0
  201. package/dist/models/budgets/ModelView/BudgetAnalyticsRow.js.map +1 -0
  202. package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.d.ts +11 -0
  203. package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.d.ts.map +1 -0
  204. package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.js +2 -0
  205. package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.js.map +1 -0
  206. package/dist/models/budgets/ModelView/BudgetApprovalModelView.d.ts +24 -0
  207. package/dist/models/budgets/ModelView/BudgetApprovalModelView.d.ts.map +1 -0
  208. package/dist/models/budgets/ModelView/BudgetApprovalModelView.js +2 -0
  209. package/dist/models/budgets/ModelView/BudgetApprovalModelView.js.map +1 -0
  210. package/dist/models/budgets/ModelView/BudgetCategoryModelView.d.ts +22 -0
  211. package/dist/models/budgets/ModelView/BudgetCategoryModelView.d.ts.map +1 -0
  212. package/dist/models/budgets/ModelView/BudgetCategoryModelView.js +2 -0
  213. package/dist/models/budgets/ModelView/BudgetCategoryModelView.js.map +1 -0
  214. package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.d.ts +30 -0
  215. package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.d.ts.map +1 -0
  216. package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.js +2 -0
  217. package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.js.map +1 -0
  218. package/dist/models/budgets/ModelView/BudgetCheckResult.d.ts +38 -0
  219. package/dist/models/budgets/ModelView/BudgetCheckResult.d.ts.map +1 -0
  220. package/dist/models/budgets/ModelView/BudgetCheckResult.js +2 -0
  221. package/dist/models/budgets/ModelView/BudgetCheckResult.js.map +1 -0
  222. package/dist/models/budgets/ModelView/BudgetDashboardOverview.d.ts +63 -0
  223. package/dist/models/budgets/ModelView/BudgetDashboardOverview.d.ts.map +1 -0
  224. package/dist/models/budgets/ModelView/BudgetDashboardOverview.js +2 -0
  225. package/dist/models/budgets/ModelView/BudgetDashboardOverview.js.map +1 -0
  226. package/dist/models/budgets/ModelView/BudgetModelView.d.ts +61 -0
  227. package/dist/models/budgets/ModelView/BudgetModelView.d.ts.map +1 -0
  228. package/dist/models/budgets/ModelView/BudgetModelView.js +2 -0
  229. package/dist/models/budgets/ModelView/BudgetModelView.js.map +1 -0
  230. package/dist/models/budgets/ModelView/BudgetMyOverview.d.ts +46 -0
  231. package/dist/models/budgets/ModelView/BudgetMyOverview.d.ts.map +1 -0
  232. package/dist/models/budgets/ModelView/BudgetMyOverview.js +2 -0
  233. package/dist/models/budgets/ModelView/BudgetMyOverview.js.map +1 -0
  234. package/dist/models/budgets/ModelView/BudgetSummary.d.ts +48 -0
  235. package/dist/models/budgets/ModelView/BudgetSummary.d.ts.map +1 -0
  236. package/dist/models/budgets/ModelView/BudgetSummary.js +13 -0
  237. package/dist/models/budgets/ModelView/BudgetSummary.js.map +1 -0
  238. package/dist/models/budgets/ModelView/BudgetTransactionModelView.d.ts +43 -0
  239. package/dist/models/budgets/ModelView/BudgetTransactionModelView.d.ts.map +1 -0
  240. package/dist/models/budgets/ModelView/BudgetTransactionModelView.js +2 -0
  241. package/dist/models/budgets/ModelView/BudgetTransactionModelView.js.map +1 -0
  242. package/dist/models/budgets/ModelView/BudgetUserRef.d.ts +14 -0
  243. package/dist/models/budgets/ModelView/BudgetUserRef.d.ts.map +1 -0
  244. package/dist/models/budgets/ModelView/BudgetUserRef.js +2 -0
  245. package/dist/models/budgets/ModelView/BudgetUserRef.js.map +1 -0
  246. package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.d.ts +15 -0
  247. package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.d.ts.map +1 -0
  248. package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.js +2 -0
  249. package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.js.map +1 -0
  250. package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.d.ts +14 -0
  251. package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.d.ts.map +1 -0
  252. package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.js +2 -0
  253. package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.js.map +1 -0
  254. package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.d.ts +14 -0
  255. package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.d.ts.map +1 -0
  256. package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.js +2 -0
  257. package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.js.map +1 -0
  258. package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.d.ts +12 -0
  259. package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.d.ts.map +1 -0
  260. package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.js +2 -0
  261. package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.js.map +1 -0
  262. package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.d.ts +32 -0
  263. package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.d.ts.map +1 -0
  264. package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.js +9 -0
  265. package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.js.map +1 -0
  266. package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.d.ts +21 -0
  267. package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.d.ts.map +1 -0
  268. package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.js +2 -0
  269. package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.js.map +1 -0
  270. package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.d.ts +12 -0
  271. package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.d.ts.map +1 -0
  272. package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.js +2 -0
  273. package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.js.map +1 -0
  274. package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.d.ts +13 -0
  275. package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.d.ts.map +1 -0
  276. package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.js +2 -0
  277. package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.js.map +1 -0
  278. package/dist/models/budgets/ModelView/CreateBudgetViewModel.d.ts +28 -0
  279. package/dist/models/budgets/ModelView/CreateBudgetViewModel.d.ts.map +1 -0
  280. package/dist/models/budgets/ModelView/CreateBudgetViewModel.js +2 -0
  281. package/dist/models/budgets/ModelView/CreateBudgetViewModel.js.map +1 -0
  282. package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.d.ts +11 -0
  283. package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.d.ts.map +1 -0
  284. package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.js +2 -0
  285. package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.js.map +1 -0
  286. package/dist/models/budgets/ModelView/GenerateReleasesViewModel.d.ts +15 -0
  287. package/dist/models/budgets/ModelView/GenerateReleasesViewModel.d.ts.map +1 -0
  288. package/dist/models/budgets/ModelView/GenerateReleasesViewModel.js +2 -0
  289. package/dist/models/budgets/ModelView/GenerateReleasesViewModel.js.map +1 -0
  290. package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.d.ts +35 -0
  291. package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.d.ts.map +1 -0
  292. package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.js +10 -0
  293. package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.js.map +1 -0
  294. package/dist/models/budgets/ModelView/ReassignBudgetViewModel.d.ts +12 -0
  295. package/dist/models/budgets/ModelView/ReassignBudgetViewModel.d.ts.map +1 -0
  296. package/dist/models/budgets/ModelView/ReassignBudgetViewModel.js +2 -0
  297. package/dist/models/budgets/ModelView/ReassignBudgetViewModel.js.map +1 -0
  298. package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.d.ts +13 -0
  299. package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.d.ts.map +1 -0
  300. package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.js +2 -0
  301. package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.js.map +1 -0
  302. package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.d.ts +15 -0
  303. package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.d.ts.map +1 -0
  304. package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.js +2 -0
  305. package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.js.map +1 -0
  306. package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.d.ts +19 -0
  307. package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.d.ts.map +1 -0
  308. package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.js +2 -0
  309. package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.js.map +1 -0
  310. package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.d.ts +24 -0
  311. package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.d.ts.map +1 -0
  312. package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.js +2 -0
  313. package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.js.map +1 -0
  314. package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.d.ts +10 -0
  315. package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.d.ts.map +1 -0
  316. package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.js +2 -0
  317. package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.js.map +1 -0
  318. package/dist/models/budgets/ModelView/UpdateBudgetViewModel.d.ts +30 -0
  319. package/dist/models/budgets/ModelView/UpdateBudgetViewModel.d.ts.map +1 -0
  320. package/dist/models/budgets/ModelView/UpdateBudgetViewModel.js +2 -0
  321. package/dist/models/budgets/ModelView/UpdateBudgetViewModel.js.map +1 -0
  322. package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.d.ts +12 -0
  323. package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.d.ts.map +1 -0
  324. package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.js +2 -0
  325. package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.js.map +1 -0
  326. package/dist/models/budgets/ModelView/index.d.ts +38 -0
  327. package/dist/models/budgets/ModelView/index.d.ts.map +1 -0
  328. package/dist/models/budgets/ModelView/index.js +38 -0
  329. package/dist/models/budgets/ModelView/index.js.map +1 -0
  330. package/dist/models/budgets/index.d.ts +29 -0
  331. package/dist/models/budgets/index.d.ts.map +1 -0
  332. package/dist/models/budgets/index.js +33 -0
  333. package/dist/models/budgets/index.js.map +1 -0
  334. package/dist/models/common/BulkDelete.d.ts +21 -0
  335. package/dist/models/common/BulkDelete.d.ts.map +1 -0
  336. package/dist/models/common/BulkDelete.js +12 -0
  337. package/dist/models/common/BulkDelete.js.map +1 -0
  338. package/dist/models/common/index.d.ts +2 -0
  339. package/dist/models/common/index.d.ts.map +1 -1
  340. package/dist/models/common/index.js +1 -0
  341. package/dist/models/common/index.js.map +1 -1
  342. package/dist/models/communication/AppPushTemplate.d.ts +3 -0
  343. package/dist/models/communication/AppPushTemplate.d.ts.map +1 -1
  344. package/dist/models/communication/ModelView/AppTemplateModelView.d.ts +40 -0
  345. package/dist/models/communication/ModelView/AppTemplateModelView.d.ts.map +1 -1
  346. package/dist/models/identity/ModelView/UserPushDeviceViewModel.d.ts +2 -0
  347. package/dist/models/identity/ModelView/UserPushDeviceViewModel.d.ts.map +1 -1
  348. package/dist/models/index.d.ts +1 -0
  349. package/dist/models/index.d.ts.map +1 -1
  350. package/dist/models/index.js +2 -0
  351. package/dist/models/index.js.map +1 -1
  352. package/dist/models/system/CustomFieldType.d.ts +32 -0
  353. package/dist/models/system/CustomFieldType.d.ts.map +1 -0
  354. package/dist/models/system/CustomFieldType.js +2 -0
  355. package/dist/models/system/CustomFieldType.js.map +1 -0
  356. package/dist/models/system/index.d.ts +1 -0
  357. package/dist/models/system/index.d.ts.map +1 -1
  358. package/dist/models/system/index.js +1 -0
  359. package/dist/models/system/index.js.map +1 -1
  360. package/dist/models/users/ModelView/UserPushDeviceViewModel.d.ts +2 -0
  361. package/dist/models/users/ModelView/UserPushDeviceViewModel.d.ts.map +1 -1
  362. package/dist/react/CCMSProvider.d.ts.map +1 -1
  363. package/dist/react/CCMSProvider.js +5 -0
  364. package/dist/react/CCMSProvider.js.map +1 -1
  365. package/dist/react/hooks/services/index.d.ts +1 -0
  366. package/dist/react/hooks/services/index.d.ts.map +1 -1
  367. package/dist/react/hooks/services/index.js +2 -0
  368. package/dist/react/hooks/services/index.js.map +1 -1
  369. package/dist/react/hooks/services/useACCoursesServices.d.ts +9 -1
  370. package/dist/react/hooks/services/useACCoursesServices.d.ts.map +1 -1
  371. package/dist/react/hooks/services/useACCoursesServices.js +12 -0
  372. package/dist/react/hooks/services/useACCoursesServices.js.map +1 -1
  373. package/dist/react/hooks/services/useAiServices.d.ts +6 -1
  374. package/dist/react/hooks/services/useAiServices.d.ts.map +1 -1
  375. package/dist/react/hooks/services/useAiServices.js +7 -0
  376. package/dist/react/hooks/services/useAiServices.js.map +1 -1
  377. package/dist/react/hooks/services/useApplicationCatalogueServices.d.ts +7 -1
  378. package/dist/react/hooks/services/useApplicationCatalogueServices.d.ts.map +1 -1
  379. package/dist/react/hooks/services/useApplicationCatalogueServices.js +8 -0
  380. package/dist/react/hooks/services/useApplicationCatalogueServices.js.map +1 -1
  381. package/dist/react/hooks/services/useBudgetsServices.d.ts +37 -0
  382. package/dist/react/hooks/services/useBudgetsServices.d.ts.map +1 -0
  383. package/dist/react/hooks/services/useBudgetsServices.js +95 -0
  384. package/dist/react/hooks/services/useBudgetsServices.js.map +1 -0
  385. package/dist/react/hooks/services/useSystemServices.d.ts +5 -1
  386. package/dist/react/hooks/services/useSystemServices.d.ts.map +1 -1
  387. package/dist/react/hooks/services/useSystemServices.js +6 -0
  388. package/dist/react/hooks/services/useSystemServices.js.map +1 -1
  389. package/dist/react/hooks/useCCMS.d.ts +2 -0
  390. package/dist/react/hooks/useCCMS.d.ts.map +1 -1
  391. package/dist/react/hooks/useCCMS.js.map +1 -1
  392. package/dist/services/accourses/CourseCustomFieldService.d.ts +25 -0
  393. package/dist/services/accourses/CourseCustomFieldService.d.ts.map +1 -0
  394. package/dist/services/accourses/CourseCustomFieldService.js +39 -0
  395. package/dist/services/accourses/CourseCustomFieldService.js.map +1 -0
  396. package/dist/services/accourses/RegistrationService.d.ts +49 -25
  397. package/dist/services/accourses/RegistrationService.d.ts.map +1 -1
  398. package/dist/services/accourses/RegistrationService.js +127 -46
  399. package/dist/services/accourses/RegistrationService.js.map +1 -1
  400. package/dist/services/accourses/SessionCustomFieldService.d.ts +25 -0
  401. package/dist/services/accourses/SessionCustomFieldService.d.ts.map +1 -0
  402. package/dist/services/accourses/SessionCustomFieldService.js +39 -0
  403. package/dist/services/accourses/SessionCustomFieldService.js.map +1 -0
  404. package/dist/services/accourses/index.d.ts +8 -0
  405. package/dist/services/accourses/index.d.ts.map +1 -1
  406. package/dist/services/accourses/index.js +6 -0
  407. package/dist/services/accourses/index.js.map +1 -1
  408. package/dist/services/ai/AiBudgetAnalyticsService.d.ts +40 -0
  409. package/dist/services/ai/AiBudgetAnalyticsService.d.ts.map +1 -0
  410. package/dist/services/ai/AiBudgetAnalyticsService.js +63 -0
  411. package/dist/services/ai/AiBudgetAnalyticsService.js.map +1 -0
  412. package/dist/services/ai/index.d.ts +3 -0
  413. package/dist/services/ai/index.d.ts.map +1 -1
  414. package/dist/services/ai/index.js +3 -0
  415. package/dist/services/ai/index.js.map +1 -1
  416. package/dist/services/applicationcatalogue/AppDistributionService.d.ts +142 -0
  417. package/dist/services/applicationcatalogue/AppDistributionService.d.ts.map +1 -0
  418. package/dist/services/applicationcatalogue/AppDistributionService.js +251 -0
  419. package/dist/services/applicationcatalogue/AppDistributionService.js.map +1 -0
  420. package/dist/services/applicationcatalogue/index.d.ts +8 -1
  421. package/dist/services/applicationcatalogue/index.d.ts.map +1 -1
  422. package/dist/services/applicationcatalogue/index.js +4 -1
  423. package/dist/services/applicationcatalogue/index.js.map +1 -1
  424. package/dist/services/budgets/BudgetAlertService.d.ts +27 -0
  425. package/dist/services/budgets/BudgetAlertService.d.ts.map +1 -0
  426. package/dist/services/budgets/BudgetAlertService.js +39 -0
  427. package/dist/services/budgets/BudgetAlertService.js.map +1 -0
  428. package/dist/services/budgets/BudgetAlertThresholdService.d.ts +23 -0
  429. package/dist/services/budgets/BudgetAlertThresholdService.d.ts.map +1 -0
  430. package/dist/services/budgets/BudgetAlertThresholdService.js +30 -0
  431. package/dist/services/budgets/BudgetAlertThresholdService.js.map +1 -0
  432. package/dist/services/budgets/BudgetAllocationService.d.ts +24 -0
  433. package/dist/services/budgets/BudgetAllocationService.d.ts.map +1 -0
  434. package/dist/services/budgets/BudgetAllocationService.js +42 -0
  435. package/dist/services/budgets/BudgetAllocationService.js.map +1 -0
  436. package/dist/services/budgets/BudgetAmountInputTypeService.d.ts +16 -0
  437. package/dist/services/budgets/BudgetAmountInputTypeService.d.ts.map +1 -0
  438. package/dist/services/budgets/BudgetAmountInputTypeService.js +19 -0
  439. package/dist/services/budgets/BudgetAmountInputTypeService.js.map +1 -0
  440. package/dist/services/budgets/BudgetAnomalyService.d.ts +36 -0
  441. package/dist/services/budgets/BudgetAnomalyService.d.ts.map +1 -0
  442. package/dist/services/budgets/BudgetAnomalyService.js +54 -0
  443. package/dist/services/budgets/BudgetAnomalyService.js.map +1 -0
  444. package/dist/services/budgets/BudgetApprovalService.d.ts +20 -0
  445. package/dist/services/budgets/BudgetApprovalService.d.ts.map +1 -0
  446. package/dist/services/budgets/BudgetApprovalService.js +27 -0
  447. package/dist/services/budgets/BudgetApprovalService.js.map +1 -0
  448. package/dist/services/budgets/BudgetApprovalStatusService.d.ts +15 -0
  449. package/dist/services/budgets/BudgetApprovalStatusService.d.ts.map +1 -0
  450. package/dist/services/budgets/BudgetApprovalStatusService.js +18 -0
  451. package/dist/services/budgets/BudgetApprovalStatusService.js.map +1 -0
  452. package/dist/services/budgets/BudgetCategoryService.d.ts +30 -0
  453. package/dist/services/budgets/BudgetCategoryService.d.ts.map +1 -0
  454. package/dist/services/budgets/BudgetCategoryService.js +57 -0
  455. package/dist/services/budgets/BudgetCategoryService.js.map +1 -0
  456. package/dist/services/budgets/BudgetChangeRequestService.d.ts +40 -0
  457. package/dist/services/budgets/BudgetChangeRequestService.d.ts.map +1 -0
  458. package/dist/services/budgets/BudgetChangeRequestService.js +74 -0
  459. package/dist/services/budgets/BudgetChangeRequestService.js.map +1 -0
  460. package/dist/services/budgets/BudgetChangeRequestTypeService.d.ts +16 -0
  461. package/dist/services/budgets/BudgetChangeRequestTypeService.d.ts.map +1 -0
  462. package/dist/services/budgets/BudgetChangeRequestTypeService.js +19 -0
  463. package/dist/services/budgets/BudgetChangeRequestTypeService.js.map +1 -0
  464. package/dist/services/budgets/BudgetCheckService.d.ts +38 -0
  465. package/dist/services/budgets/BudgetCheckService.d.ts.map +1 -0
  466. package/dist/services/budgets/BudgetCheckService.js +54 -0
  467. package/dist/services/budgets/BudgetCheckService.js.map +1 -0
  468. package/dist/services/budgets/BudgetDashboardService.d.ts +48 -0
  469. package/dist/services/budgets/BudgetDashboardService.d.ts.map +1 -0
  470. package/dist/services/budgets/BudgetDashboardService.js +79 -0
  471. package/dist/services/budgets/BudgetDashboardService.js.map +1 -0
  472. package/dist/services/budgets/BudgetForecastService.d.ts +57 -0
  473. package/dist/services/budgets/BudgetForecastService.d.ts.map +1 -0
  474. package/dist/services/budgets/BudgetForecastService.js +87 -0
  475. package/dist/services/budgets/BudgetForecastService.js.map +1 -0
  476. package/dist/services/budgets/BudgetFundingSourceTypeService.d.ts +15 -0
  477. package/dist/services/budgets/BudgetFundingSourceTypeService.d.ts.map +1 -0
  478. package/dist/services/budgets/BudgetFundingSourceTypeService.js +18 -0
  479. package/dist/services/budgets/BudgetFundingSourceTypeService.js.map +1 -0
  480. package/dist/services/budgets/BudgetHealthStatusService.d.ts +15 -0
  481. package/dist/services/budgets/BudgetHealthStatusService.d.ts.map +1 -0
  482. package/dist/services/budgets/BudgetHealthStatusService.js +18 -0
  483. package/dist/services/budgets/BudgetHealthStatusService.js.map +1 -0
  484. package/dist/services/budgets/BudgetItemService.d.ts +32 -0
  485. package/dist/services/budgets/BudgetItemService.d.ts.map +1 -0
  486. package/dist/services/budgets/BudgetItemService.js +56 -0
  487. package/dist/services/budgets/BudgetItemService.js.map +1 -0
  488. package/dist/services/budgets/BudgetReleaseService.d.ts +33 -0
  489. package/dist/services/budgets/BudgetReleaseService.d.ts.map +1 -0
  490. package/dist/services/budgets/BudgetReleaseService.js +63 -0
  491. package/dist/services/budgets/BudgetReleaseService.js.map +1 -0
  492. package/dist/services/budgets/BudgetReleaseValueTypeService.d.ts +16 -0
  493. package/dist/services/budgets/BudgetReleaseValueTypeService.d.ts.map +1 -0
  494. package/dist/services/budgets/BudgetReleaseValueTypeService.js +19 -0
  495. package/dist/services/budgets/BudgetReleaseValueTypeService.js.map +1 -0
  496. package/dist/services/budgets/BudgetReportService.d.ts +34 -0
  497. package/dist/services/budgets/BudgetReportService.d.ts.map +1 -0
  498. package/dist/services/budgets/BudgetReportService.js +55 -0
  499. package/dist/services/budgets/BudgetReportService.js.map +1 -0
  500. package/dist/services/budgets/BudgetService.d.ts +72 -0
  501. package/dist/services/budgets/BudgetService.d.ts.map +1 -0
  502. package/dist/services/budgets/BudgetService.js +155 -0
  503. package/dist/services/budgets/BudgetService.js.map +1 -0
  504. package/dist/services/budgets/BudgetSettingService.d.ts +21 -0
  505. package/dist/services/budgets/BudgetSettingService.d.ts.map +1 -0
  506. package/dist/services/budgets/BudgetSettingService.js +33 -0
  507. package/dist/services/budgets/BudgetSettingService.js.map +1 -0
  508. package/dist/services/budgets/BudgetStatusService.d.ts +15 -0
  509. package/dist/services/budgets/BudgetStatusService.d.ts.map +1 -0
  510. package/dist/services/budgets/BudgetStatusService.js +18 -0
  511. package/dist/services/budgets/BudgetStatusService.js.map +1 -0
  512. package/dist/services/budgets/BudgetTransactionService.d.ts +29 -0
  513. package/dist/services/budgets/BudgetTransactionService.d.ts.map +1 -0
  514. package/dist/services/budgets/BudgetTransactionService.js +47 -0
  515. package/dist/services/budgets/BudgetTransactionService.js.map +1 -0
  516. package/dist/services/budgets/BudgetTransactionSourceService.d.ts +15 -0
  517. package/dist/services/budgets/BudgetTransactionSourceService.d.ts.map +1 -0
  518. package/dist/services/budgets/BudgetTransactionSourceService.js +18 -0
  519. package/dist/services/budgets/BudgetTransactionSourceService.js.map +1 -0
  520. package/dist/services/budgets/BudgetTransactionTypeService.d.ts +15 -0
  521. package/dist/services/budgets/BudgetTransactionTypeService.d.ts.map +1 -0
  522. package/dist/services/budgets/BudgetTransactionTypeService.js +18 -0
  523. package/dist/services/budgets/BudgetTransactionTypeService.js.map +1 -0
  524. package/dist/services/budgets/BudgetTypeService.d.ts +15 -0
  525. package/dist/services/budgets/BudgetTypeService.d.ts.map +1 -0
  526. package/dist/services/budgets/BudgetTypeService.js +18 -0
  527. package/dist/services/budgets/BudgetTypeService.js.map +1 -0
  528. package/dist/services/budgets/index.d.ts +123 -0
  529. package/dist/services/budgets/index.d.ts.map +1 -0
  530. package/dist/services/budgets/index.js +91 -0
  531. package/dist/services/budgets/index.js.map +1 -0
  532. package/dist/services/communication/EmailService.d.ts +11 -0
  533. package/dist/services/communication/EmailService.d.ts.map +1 -1
  534. package/dist/services/communication/EmailService.js +17 -0
  535. package/dist/services/communication/EmailService.js.map +1 -1
  536. package/dist/services/communication/PushNotificationService.d.ts +24 -0
  537. package/dist/services/communication/PushNotificationService.d.ts.map +1 -1
  538. package/dist/services/communication/PushNotificationService.js +38 -0
  539. package/dist/services/communication/PushNotificationService.js.map +1 -1
  540. package/dist/services/communication/SmsService.d.ts +11 -0
  541. package/dist/services/communication/SmsService.d.ts.map +1 -1
  542. package/dist/services/communication/SmsService.js +17 -0
  543. package/dist/services/communication/SmsService.js.map +1 -1
  544. package/dist/services/index.d.ts +1 -0
  545. package/dist/services/index.d.ts.map +1 -1
  546. package/dist/services/index.js +2 -0
  547. package/dist/services/index.js.map +1 -1
  548. package/dist/services/system/CustomFieldTypeService.d.ts +18 -0
  549. package/dist/services/system/CustomFieldTypeService.d.ts.map +1 -0
  550. package/dist/services/system/CustomFieldTypeService.js +24 -0
  551. package/dist/services/system/CustomFieldTypeService.js.map +1 -0
  552. package/dist/services/system/index.d.ts +3 -0
  553. package/dist/services/system/index.d.ts.map +1 -1
  554. package/dist/services/system/index.js +3 -0
  555. package/dist/services/system/index.js.map +1 -1
  556. package/dist/services/task-portal/models/index.d.ts +1 -0
  557. package/dist/services/task-portal/models/index.d.ts.map +1 -1
  558. package/dist/services/types.d.ts +2 -0
  559. package/dist/services/types.d.ts.map +1 -1
  560. package/dist/services/users/UserPushDeviceService.d.ts +11 -0
  561. package/dist/services/users/UserPushDeviceService.d.ts.map +1 -1
  562. package/dist/services/users/UserPushDeviceService.js +17 -0
  563. package/dist/services/users/UserPushDeviceService.js.map +1 -1
  564. package/package.json +1 -1
  565. package/dist/models/accourses/RegistrationCustomField.d.ts +0 -39
  566. package/dist/models/accourses/RegistrationCustomField.d.ts.map +0 -1
  567. package/dist/models/accourses/RegistrationCustomField.js +0 -2
  568. package/dist/models/accourses/RegistrationCustomField.js.map +0 -1
  569. package/dist/models/accourses/RegistrationSpecialSession.d.ts +0 -39
  570. package/dist/models/accourses/RegistrationSpecialSession.d.ts.map +0 -1
  571. package/dist/models/accourses/RegistrationSpecialSession.js +0 -2
  572. package/dist/models/accourses/RegistrationSpecialSession.js.map +0 -1
@@ -7,6 +7,8 @@ export { ACCourseService } from './ACCourseService';
7
7
  export { CourseDateService } from './CourseDateService';
8
8
  export { CourseFileService } from './CourseFileService';
9
9
  export { ACCourseSessionService } from './ACCourseSessionService';
10
+ export { CourseCustomFieldService } from './CourseCustomFieldService';
11
+ export { SessionCustomFieldService } from './SessionCustomFieldService';
10
12
  export { FacilitatorService } from './FacilitatorService';
11
13
  export { RegistrationService } from './RegistrationService';
12
14
  export { RegistrationIntakeService } from './RegistrationIntakeService';
@@ -26,6 +28,8 @@ import { ACCourseService } from './ACCourseService';
26
28
  import { CourseDateService } from './CourseDateService';
27
29
  import { CourseFileService } from './CourseFileService';
28
30
  import { ACCourseSessionService } from './ACCourseSessionService';
31
+ import { CourseCustomFieldService } from './CourseCustomFieldService';
32
+ import { SessionCustomFieldService } from './SessionCustomFieldService';
29
33
  import { FacilitatorService } from './FacilitatorService';
30
34
  import { RegistrationService } from './RegistrationService';
31
35
  import { RegistrationIntakeService } from './RegistrationIntakeService';
@@ -52,6 +56,8 @@ export function createACCourseServices(http, config) {
52
56
  courseDate: new CourseDateService(http, config),
53
57
  courseFile: new CourseFileService(http, config),
54
58
  acCourseSession: new ACCourseSessionService(http, config),
59
+ courseCustomField: new CourseCustomFieldService(http, config),
60
+ sessionCustomField: new SessionCustomFieldService(http, config),
55
61
  facilitator: new FacilitatorService(http, config),
56
62
  registration: new RegistrationService(http, config),
57
63
  registrationIntake: new RegistrationIntakeService(http, config),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/accourses/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/accourses/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * AiBudgetAnalyticsService
3
+ *
4
+ * AI analysis over the organisation's budget book.
5
+ *
6
+ * Budget data reaches the AI service ONLY through BudgetManagement's insight-feed endpoint,
7
+ * and every figure in the response was computed there — deterministically, from the ledger —
8
+ * before the model ever saw it. The model narrates and prioritises; it does not calculate.
9
+ *
10
+ * Route: api/ai/budget-analytics (AIManagement, port 5030)
11
+ */
12
+ import { BaseService } from '../base/BaseService';
13
+ import type { HttpClient } from '../../core/HttpClient';
14
+ import type { ResponseData } from '../../models/common';
15
+ import type { ServiceConfig } from '../types';
16
+ import type { BudgetInsightsRequest, BudgetInsightsResponse, BudgetQueryRequest, BudgetQueryResponse, ExplainSectionsRequest, ExplainSectionsResponse } from '../../models/ai';
17
+ export declare class AiBudgetAnalyticsService extends BaseService {
18
+ private static readonly DEFAULT_SERVICE_PATH;
19
+ private static readonly BASE_PATH;
20
+ constructor(http: HttpClient, config?: ServiceConfig);
21
+ /**
22
+ * The org-wide report: risk flags, overspend predictions, savings, reallocation ideas,
23
+ * anomaly explanations, spend drivers, recommendations.
24
+ *
25
+ * Two-tier cached on the server by the feed's snapshot hash — if the numbers haven't
26
+ * moved, the previous report is reused rather than re-billing the model.
27
+ */
28
+ generateInsightsRaw(request: BudgetInsightsRequest): Promise<ResponseData<BudgetInsightsResponse>>;
29
+ generateInsights(request?: BudgetInsightsRequest): Promise<BudgetInsightsResponse>;
30
+ /** Free-form Q&A over the budget book. Markdown answer + the budgets it cited. */
31
+ queryRaw(request: BudgetQueryRequest): Promise<ResponseData<BudgetQueryResponse>>;
32
+ query(request: BudgetQueryRequest): Promise<BudgetQueryResponse>;
33
+ /**
34
+ * The Report Builder's AI: explain each chart or table the user chose to include.
35
+ * The section data is sent inline — the browser already holds it, so this adds no coupling.
36
+ */
37
+ explainSectionsRaw(request: ExplainSectionsRequest): Promise<ResponseData<ExplainSectionsResponse>>;
38
+ explainSections(request: ExplainSectionsRequest): Promise<ExplainSectionsResponse>;
39
+ }
40
+ //# sourceMappingURL=AiBudgetAnalyticsService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiBudgetAnalyticsService.d.ts","sourceRoot":"","sources":["../../../src/services/ai/AiBudgetAnalyticsService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAElD,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQpD;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAGlG,gBAAgB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM5F,kFAAkF;IAC5E,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAGjF,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;OAGG;IACG,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAGnG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAKzF"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * AiBudgetAnalyticsService
3
+ *
4
+ * AI analysis over the organisation's budget book.
5
+ *
6
+ * Budget data reaches the AI service ONLY through BudgetManagement's insight-feed endpoint,
7
+ * and every figure in the response was computed there — deterministically, from the ledger —
8
+ * before the model ever saw it. The model narrates and prioritises; it does not calculate.
9
+ *
10
+ * Route: api/ai/budget-analytics (AIManagement, port 5030)
11
+ */
12
+ import { BaseService } from '../base/BaseService';
13
+ export class AiBudgetAnalyticsService extends BaseService {
14
+ constructor(http, config) {
15
+ super(http, {
16
+ servicePath: config?.servicePath ?? AiBudgetAnalyticsService.DEFAULT_SERVICE_PATH,
17
+ basePath: AiBudgetAnalyticsService.BASE_PATH,
18
+ endpoints: config?.endpoints,
19
+ });
20
+ }
21
+ /**
22
+ * The org-wide report: risk flags, overspend predictions, savings, reallocation ideas,
23
+ * anomaly explanations, spend drivers, recommendations.
24
+ *
25
+ * Two-tier cached on the server by the feed's snapshot hash — if the numbers haven't
26
+ * moved, the previous report is reused rather than re-billing the model.
27
+ */
28
+ async generateInsightsRaw(request) {
29
+ return this.http.post(this.buildUrl('insights'), request);
30
+ }
31
+ async generateInsights(request = {}) {
32
+ const response = await this.generateInsightsRaw(request);
33
+ if (!response.data)
34
+ throw new Error('No data returned from budget insights');
35
+ return response.data;
36
+ }
37
+ /** Free-form Q&A over the budget book. Markdown answer + the budgets it cited. */
38
+ async queryRaw(request) {
39
+ return this.http.post(this.buildUrl('query'), request);
40
+ }
41
+ async query(request) {
42
+ const response = await this.queryRaw(request);
43
+ if (!response.data)
44
+ throw new Error('No data returned from the budget query');
45
+ return response.data;
46
+ }
47
+ /**
48
+ * The Report Builder's AI: explain each chart or table the user chose to include.
49
+ * The section data is sent inline — the browser already holds it, so this adds no coupling.
50
+ */
51
+ async explainSectionsRaw(request) {
52
+ return this.http.post(this.buildUrl('explain-sections'), request);
53
+ }
54
+ async explainSections(request) {
55
+ const response = await this.explainSectionsRaw(request);
56
+ if (!response.data)
57
+ throw new Error('No data returned from explain-sections');
58
+ return response.data;
59
+ }
60
+ }
61
+ AiBudgetAnalyticsService.DEFAULT_SERVICE_PATH = 'ai-management';
62
+ AiBudgetAnalyticsService.BASE_PATH = 'api/ai/budget-analytics';
63
+ //# sourceMappingURL=AiBudgetAnalyticsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiBudgetAnalyticsService.js","sourceRoot":"","sources":["../../../src/services/ai/AiBudgetAnalyticsService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAalD,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAIvD,YAAY,IAAgB,EAAE,MAAsB;QAClD,KAAK,CAAC,IAAI,EAAE;YACV,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,wBAAwB,CAAC,oBAAoB;YACjF,QAAQ,EAAE,wBAAwB,CAAC,SAAS;YAC5C,SAAS,EAAE,MAAM,EAAE,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAA8B;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,UAAiC,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,QAAQ,CAAC,OAA2B;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAA2B;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAA+B;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAhDuB,6CAAoB,GAAG,eAAe,CAAC;AACvC,kCAAS,GAAG,yBAAyB,CAAC"}
@@ -11,6 +11,7 @@ import { AiRequestLogService } from './AiRequestLogService';
11
11
  import { AiModelService } from './AiModelService';
12
12
  import { AiContentService } from './AiContentService';
13
13
  import { AiAnalyticsService } from './AiAnalyticsService';
14
+ import { AiBudgetAnalyticsService } from './AiBudgetAnalyticsService';
14
15
  import { AiWorkflowService } from './AiWorkflowService';
15
16
  import { AiDocumentService } from './AiDocumentService';
16
17
  import { AiClassificationService } from './AiClassificationService';
@@ -22,6 +23,7 @@ export { AiRequestLogService } from './AiRequestLogService';
22
23
  export { AiModelService } from './AiModelService';
23
24
  export { AiContentService } from './AiContentService';
24
25
  export { AiAnalyticsService } from './AiAnalyticsService';
26
+ export { AiBudgetAnalyticsService } from './AiBudgetAnalyticsService';
25
27
  export { AiWorkflowService } from './AiWorkflowService';
26
28
  export { AiDocumentService } from './AiDocumentService';
27
29
  export { AiClassificationService } from './AiClassificationService';
@@ -34,6 +36,7 @@ export interface AiServices {
34
36
  model: AiModelService;
35
37
  content: AiContentService;
36
38
  analytics: AiAnalyticsService;
39
+ budgetAnalytics: AiBudgetAnalyticsService;
37
40
  workflow: AiWorkflowService;
38
41
  document: AiDocumentService;
39
42
  classification: AiClassificationService;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;IACxC,YAAY,EAAE,qBAAqB,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,uBAAuB,CAAC;IACxC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,CAcrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;IACxC,YAAY,EAAE,qBAAqB,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,eAAe,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,uBAAuB,CAAC;IACxC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,CAerF"}
@@ -9,6 +9,7 @@ import { AiRequestLogService } from './AiRequestLogService';
9
9
  import { AiModelService } from './AiModelService';
10
10
  import { AiContentService } from './AiContentService';
11
11
  import { AiAnalyticsService } from './AiAnalyticsService';
12
+ import { AiBudgetAnalyticsService } from './AiBudgetAnalyticsService';
12
13
  import { AiWorkflowService } from './AiWorkflowService';
13
14
  import { AiDocumentService } from './AiDocumentService';
14
15
  import { AiClassificationService } from './AiClassificationService';
@@ -20,6 +21,7 @@ export { AiRequestLogService } from './AiRequestLogService';
20
21
  export { AiModelService } from './AiModelService';
21
22
  export { AiContentService } from './AiContentService';
22
23
  export { AiAnalyticsService } from './AiAnalyticsService';
24
+ export { AiBudgetAnalyticsService } from './AiBudgetAnalyticsService';
23
25
  export { AiWorkflowService } from './AiWorkflowService';
24
26
  export { AiDocumentService } from './AiDocumentService';
25
27
  export { AiClassificationService } from './AiClassificationService';
@@ -33,6 +35,7 @@ export function createAiServices(http, config) {
33
35
  model: new AiModelService(http, config),
34
36
  content: new AiContentService(http, config),
35
37
  analytics: new AiAnalyticsService(http, config),
38
+ budgetAnalytics: new AiBudgetAnalyticsService(http, config),
36
39
  workflow: new AiWorkflowService(http, config),
37
40
  document: new AiDocumentService(http, config),
38
41
  classification: new AiClassificationService(http, config),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgBpD,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,MAAsB;IACvE,OAAO;QACL,WAAW,EAAE,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;QACnD,cAAc,EAAE,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QACzD,YAAY,EAAE,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QACrD,UAAU,EAAE,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;QACjD,KAAK,EAAE,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;QACvC,OAAO,EAAE,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3C,SAAS,EAAE,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC/C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,cAAc,EAAE,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QACzD,MAAM,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAiBpD,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,MAAsB;IACvE,OAAO;QACL,WAAW,EAAE,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;QACnD,cAAc,EAAE,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QACzD,YAAY,EAAE,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QACrD,UAAU,EAAE,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;QACjD,KAAK,EAAE,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;QACvC,OAAO,EAAE,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3C,SAAS,EAAE,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC/C,eAAe,EAAE,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3D,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,cAAc,EAAE,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QACzD,MAAM,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * AppDistributionService
3
+ *
4
+ * Private app distribution + redemption codes (`CCMS.Api.ApplicationCatalogue`,
5
+ * migration 194). CCMS mobile apps are not searchable in the public stores: Apple ships
6
+ * via Apple Business Manager custom-app redemption codes, Android via an install link
7
+ * (Google Play has no promo codes for free apps).
8
+ *
9
+ * Backs two surfaces:
10
+ * - the admin distribution + code-pool screens (`/admin/app-catalogue/*`)
11
+ * - the user's "Get the Apps" download page (`/app/apps`)
12
+ *
13
+ * Routes (gateway prefix `application-catalogue`):
14
+ * ADMIN — /api/catalogue/admin/distribution
15
+ * - GET /lookups
16
+ * - GET /?appId= — config + pool stats
17
+ * - PUT /{appId}/{platformId} — upsert
18
+ * - PATCH /{distributionId}/toggle?enabled=
19
+ * - DELETE /{distributionId}
20
+ * - GET /stats?appId=
21
+ * - POST /{distributionId}/codes/batch — bulk upload
22
+ * - GET /{distributionId}/batches
23
+ * - GET /{distributionId}/codes — paginated, masked by default
24
+ * - POST /{distributionId}/codes/assign — claim N for a user (409 if empty)
25
+ * - POST /codes/{codeId}/assign | unassign | revoke | redeem
26
+ * - PATCH /codes/{codeId}/status
27
+ * - GET /codes/{codeId}/events
28
+ * USER — /api/catalogue/me
29
+ * - GET /apps — the whole download page
30
+ * - POST /codes/{codeId}/redeem — one-way
31
+ *
32
+ * A redeemed code is TERMINAL: it cannot be revoked, unassigned or reset. Those calls
33
+ * answer 409. The UI should offer no actions on a used code — only the fact that it was.
34
+ */
35
+ import { BaseService } from '../base/BaseService';
36
+ import type { HttpClient } from '../../core/HttpClient';
37
+ import type { ResponseData } from '../../models/common';
38
+ import type { ServiceConfig } from '../types';
39
+ import type { AppCodeBatch, AppCodeEvent, AppCodePoolStats, AppCodeView, AppCode, AppDistribution, AppDistributionView, AssignCodesRequest, AssignSpecificCodeRequest, CatalogueLookupSet, CodeBatchUploadResult, MyAppInstall, SetCodeStatusRequest, UploadCodeBatchRequest, UpsertDistributionRequest } from '../../models/applicationcatalogue';
40
+ export declare class AppDistributionService extends BaseService {
41
+ private static readonly DEFAULT_SERVICE_PATH;
42
+ private static readonly BASE_PATH;
43
+ constructor(http: HttpClient, config?: ServiceConfig);
44
+ /**
45
+ * The signed-in user's whole download page in one call: every app they are entitled
46
+ * to, how to install it on each platform, and the codes they personally hold.
47
+ * GET /api/catalogue/me/apps
48
+ */
49
+ getMyApps(): Promise<MyAppInstall[]>;
50
+ getMyAppsRaw(): Promise<ResponseData<MyAppInstall[]>>;
51
+ /**
52
+ * Tell CCMS you used your code. One-way: Apple gives us no redemption callback, so
53
+ * this button is what makes a code "used".
54
+ * POST /api/catalogue/me/codes/{codeId}/redeem
55
+ *
56
+ * @returns true when it flipped. Rejects with 409 if the code was already used or
57
+ * revoked, and 404 if it isn't yours — both are terminal, nothing to retry.
58
+ */
59
+ redeemMyCode(codeId: number): Promise<boolean>;
60
+ redeemMyCodeRaw(codeId: number): Promise<ResponseData<void>>;
61
+ /** Platforms, distribution methods, code statuses, event types. GET /admin/distribution/lookups */
62
+ getLookups(): Promise<CatalogueLookupSet>;
63
+ getLookupsRaw(): Promise<ResponseData<CatalogueLookupSet>>;
64
+ /** Distribution config + pool stats. GET /admin/distribution?appId= */
65
+ getDistributions(appId?: string): Promise<AppDistributionView[]>;
66
+ getDistributionsRaw(appId?: string): Promise<ResponseData<AppDistributionView[]>>;
67
+ /**
68
+ * Create or replace how one app is installed on one platform.
69
+ * PUT /admin/distribution/{appId}/{platformId}
70
+ */
71
+ upsertDistribution(appId: string, platformId: number, request: UpsertDistributionRequest): Promise<AppDistribution>;
72
+ upsertDistributionRaw(appId: string, platformId: number, request: UpsertDistributionRequest): Promise<ResponseData<AppDistribution>>;
73
+ /** Show / hide a platform on the user download page. PATCH /admin/distribution/{id}/toggle */
74
+ toggleDistribution(distributionId: number, enabled: boolean): Promise<boolean>;
75
+ toggleDistributionRaw(distributionId: number, enabled: boolean): Promise<ResponseData<void>>;
76
+ /** Removes the config AND its code pool. DELETE /admin/distribution/{id} */
77
+ deleteDistribution(distributionId: number): Promise<boolean>;
78
+ deleteDistributionRaw(distributionId: number): Promise<ResponseData<void>>;
79
+ /** Pool health, incl. the low-stock flag. GET /admin/distribution/stats?appId= */
80
+ getPoolStats(appId?: string): Promise<AppCodePoolStats[]>;
81
+ getPoolStatsRaw(appId?: string): Promise<ResponseData<AppCodePoolStats[]>>;
82
+ /**
83
+ * Bulk-upload redemption codes. Parse the CSV / pasted list in the browser and post
84
+ * the raw strings — no file reaches the server. Re-uploading the same batch is a
85
+ * no-op: the result reports `duplicates`, it does not fail.
86
+ * POST /admin/distribution/{distributionId}/codes/batch
87
+ */
88
+ uploadCodeBatch(distributionId: number, request: UploadCodeBatchRequest): Promise<CodeBatchUploadResult>;
89
+ uploadCodeBatchRaw(distributionId: number, request: UploadCodeBatchRequest): Promise<ResponseData<CodeBatchUploadResult>>;
90
+ /** Upload history. GET /admin/distribution/{distributionId}/batches */
91
+ getBatches(distributionId: number): Promise<AppCodeBatch[]>;
92
+ getBatchesRaw(distributionId: number): Promise<ResponseData<AppCodeBatch[]>>;
93
+ /**
94
+ * The pool, paginated. Codes come back in full (they are not secrets), each with its
95
+ * one-tap Apple redeem link.
96
+ * GET /admin/distribution/{distributionId}/codes
97
+ */
98
+ getCodesRaw(distributionId: number, options?: {
99
+ statusId?: number;
100
+ search?: string;
101
+ skip?: number;
102
+ take?: number;
103
+ }): Promise<ResponseData<AppCodeView[]>>;
104
+ /** The audit trail for one code. GET /admin/distribution/codes/{codeId}/events */
105
+ getCodeEvents(codeId: number): Promise<AppCodeEvent[]>;
106
+ getCodeEventsRaw(codeId: number): Promise<ResponseData<AppCodeEvent[]>>;
107
+ /**
108
+ * Claim `count` codes from the pool for one user, and email them.
109
+ * POST /admin/distribution/{distributionId}/codes/assign
110
+ *
111
+ * Rejects with **409** when the pool is empty — the cue to upload more codes.
112
+ * When the pool runs out mid-way it returns what it managed to claim.
113
+ */
114
+ assignCodes(distributionId: number, request: AssignCodesRequest): Promise<AppCode[]>;
115
+ assignCodesRaw(distributionId: number, request: AssignCodesRequest): Promise<ResponseData<AppCode[]>>;
116
+ /** Hand out one specific code. POST /admin/distribution/codes/{codeId}/assign */
117
+ assignSpecificCodeRaw(codeId: number, request: AssignSpecificCodeRequest): Promise<ResponseData<AppCode>>;
118
+ /**
119
+ * Return an UNUSED code to the pool.
120
+ * **409 if it has already been redeemed** — a used code is spent, there is nothing
121
+ * to take back.
122
+ */
123
+ unassignCode(codeId: number, note?: string): Promise<boolean>;
124
+ unassignCodeRaw(codeId: number, note?: string): Promise<ResponseData<void>>;
125
+ /**
126
+ * Burn an UNUSED code so nobody can use it.
127
+ * **409 if it has already been redeemed** — you cannot un-ring that bell.
128
+ */
129
+ revokeCode(codeId: number, note?: string): Promise<boolean>;
130
+ revokeCodeRaw(codeId: number, note?: string): Promise<ResponseData<void>>;
131
+ /**
132
+ * Admin correction — e.g. Apple rejected the code, so mark it Invalid.
133
+ * Cannot move a code out of a terminal state, and cannot force one back to Available.
134
+ */
135
+ setCodeStatus(codeId: number, request: SetCodeStatusRequest): Promise<boolean>;
136
+ setCodeStatusRaw(codeId: number, request: SetCodeStatusRequest): Promise<ResponseData<void>>;
137
+ /** Mark a code used on the holder's behalf ("they told me it worked"). One-way. */
138
+ markCodeRedeemed(codeId: number): Promise<boolean>;
139
+ markCodeRedeemedRaw(codeId: number): Promise<ResponseData<void>>;
140
+ private adminUrl;
141
+ }
142
+ //# sourceMappingURL=AppDistributionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppDistributionService.d.ts","sourceRoot":"","sources":["../../../src/services/applicationcatalogue/AppDistributionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * AppDistributionService
3
+ *
4
+ * Private app distribution + redemption codes (`CCMS.Api.ApplicationCatalogue`,
5
+ * migration 194). CCMS mobile apps are not searchable in the public stores: Apple ships
6
+ * via Apple Business Manager custom-app redemption codes, Android via an install link
7
+ * (Google Play has no promo codes for free apps).
8
+ *
9
+ * Backs two surfaces:
10
+ * - the admin distribution + code-pool screens (`/admin/app-catalogue/*`)
11
+ * - the user's "Get the Apps" download page (`/app/apps`)
12
+ *
13
+ * Routes (gateway prefix `application-catalogue`):
14
+ * ADMIN — /api/catalogue/admin/distribution
15
+ * - GET /lookups
16
+ * - GET /?appId= — config + pool stats
17
+ * - PUT /{appId}/{platformId} — upsert
18
+ * - PATCH /{distributionId}/toggle?enabled=
19
+ * - DELETE /{distributionId}
20
+ * - GET /stats?appId=
21
+ * - POST /{distributionId}/codes/batch — bulk upload
22
+ * - GET /{distributionId}/batches
23
+ * - GET /{distributionId}/codes — paginated, masked by default
24
+ * - POST /{distributionId}/codes/assign — claim N for a user (409 if empty)
25
+ * - POST /codes/{codeId}/assign | unassign | revoke | redeem
26
+ * - PATCH /codes/{codeId}/status
27
+ * - GET /codes/{codeId}/events
28
+ * USER — /api/catalogue/me
29
+ * - GET /apps — the whole download page
30
+ * - POST /codes/{codeId}/redeem — one-way
31
+ *
32
+ * A redeemed code is TERMINAL: it cannot be revoked, unassigned or reset. Those calls
33
+ * answer 409. The UI should offer no actions on a used code — only the fact that it was.
34
+ */
35
+ import { BaseService } from '../base/BaseService';
36
+ export class AppDistributionService extends BaseService {
37
+ constructor(http, config) {
38
+ super(http, {
39
+ servicePath: config?.servicePath ?? AppDistributionService.DEFAULT_SERVICE_PATH,
40
+ basePath: AppDistributionService.BASE_PATH,
41
+ endpoints: config?.endpoints,
42
+ });
43
+ }
44
+ // ==================== USER — the download page ====================
45
+ /**
46
+ * The signed-in user's whole download page in one call: every app they are entitled
47
+ * to, how to install it on each platform, and the codes they personally hold.
48
+ * GET /api/catalogue/me/apps
49
+ */
50
+ async getMyApps() {
51
+ const response = await this.getMyAppsRaw();
52
+ return response.data ?? [];
53
+ }
54
+ getMyAppsRaw() {
55
+ return this.http.get(this.buildUrl('me/apps'));
56
+ }
57
+ /**
58
+ * Tell CCMS you used your code. One-way: Apple gives us no redemption callback, so
59
+ * this button is what makes a code "used".
60
+ * POST /api/catalogue/me/codes/{codeId}/redeem
61
+ *
62
+ * @returns true when it flipped. Rejects with 409 if the code was already used or
63
+ * revoked, and 404 if it isn't yours — both are terminal, nothing to retry.
64
+ */
65
+ async redeemMyCode(codeId) {
66
+ const response = await this.redeemMyCodeRaw(codeId);
67
+ return response.success;
68
+ }
69
+ redeemMyCodeRaw(codeId) {
70
+ return this.http.post(this.buildUrl(`me/codes/${codeId}/redeem`));
71
+ }
72
+ // ==================== ADMIN — distribution config ====================
73
+ /** Platforms, distribution methods, code statuses, event types. GET /admin/distribution/lookups */
74
+ async getLookups() {
75
+ const response = await this.getLookupsRaw();
76
+ if (!response.data) {
77
+ throw new Error(response.message ?? 'Failed to load distribution lookups');
78
+ }
79
+ return response.data;
80
+ }
81
+ getLookupsRaw() {
82
+ return this.http.get(this.adminUrl('lookups'));
83
+ }
84
+ /** Distribution config + pool stats. GET /admin/distribution?appId= */
85
+ async getDistributions(appId) {
86
+ const response = await this.getDistributionsRaw(appId);
87
+ return response.data ?? [];
88
+ }
89
+ getDistributionsRaw(appId) {
90
+ const url = this.buildUrlWithParams('admin/distribution', appId ? { appId } : undefined);
91
+ return this.http.get(url);
92
+ }
93
+ /**
94
+ * Create or replace how one app is installed on one platform.
95
+ * PUT /admin/distribution/{appId}/{platformId}
96
+ */
97
+ async upsertDistribution(appId, platformId, request) {
98
+ const response = await this.upsertDistributionRaw(appId, platformId, request);
99
+ if (!response.data) {
100
+ throw new Error(response.message ?? 'Failed to save the distribution');
101
+ }
102
+ return response.data;
103
+ }
104
+ upsertDistributionRaw(appId, platformId, request) {
105
+ const url = this.adminUrl(`${encodeURIComponent(appId)}/${platformId}`);
106
+ return this.http.put(url, request);
107
+ }
108
+ /** Show / hide a platform on the user download page. PATCH /admin/distribution/{id}/toggle */
109
+ async toggleDistribution(distributionId, enabled) {
110
+ const response = await this.toggleDistributionRaw(distributionId, enabled);
111
+ return response.success;
112
+ }
113
+ toggleDistributionRaw(distributionId, enabled) {
114
+ const url = this.buildUrlWithParams(`admin/distribution/${distributionId}/toggle`, { enabled });
115
+ return this.http.patch(url);
116
+ }
117
+ /** Removes the config AND its code pool. DELETE /admin/distribution/{id} */
118
+ async deleteDistribution(distributionId) {
119
+ const response = await this.deleteDistributionRaw(distributionId);
120
+ return response.success;
121
+ }
122
+ deleteDistributionRaw(distributionId) {
123
+ return this.http.delete(this.adminUrl(String(distributionId)));
124
+ }
125
+ /** Pool health, incl. the low-stock flag. GET /admin/distribution/stats?appId= */
126
+ async getPoolStats(appId) {
127
+ const response = await this.getPoolStatsRaw(appId);
128
+ return response.data ?? [];
129
+ }
130
+ getPoolStatsRaw(appId) {
131
+ const url = this.buildUrlWithParams('admin/distribution/stats', appId ? { appId } : undefined);
132
+ return this.http.get(url);
133
+ }
134
+ // ==================== ADMIN — the code pool ====================
135
+ /**
136
+ * Bulk-upload redemption codes. Parse the CSV / pasted list in the browser and post
137
+ * the raw strings — no file reaches the server. Re-uploading the same batch is a
138
+ * no-op: the result reports `duplicates`, it does not fail.
139
+ * POST /admin/distribution/{distributionId}/codes/batch
140
+ */
141
+ async uploadCodeBatch(distributionId, request) {
142
+ const response = await this.uploadCodeBatchRaw(distributionId, request);
143
+ if (!response.data) {
144
+ throw new Error(response.message ?? 'Failed to upload the codes');
145
+ }
146
+ return response.data;
147
+ }
148
+ uploadCodeBatchRaw(distributionId, request) {
149
+ const url = this.adminUrl(`${distributionId}/codes/batch`);
150
+ return this.http.post(url, request);
151
+ }
152
+ /** Upload history. GET /admin/distribution/{distributionId}/batches */
153
+ async getBatches(distributionId) {
154
+ const response = await this.getBatchesRaw(distributionId);
155
+ return response.data ?? [];
156
+ }
157
+ getBatchesRaw(distributionId) {
158
+ return this.http.get(this.adminUrl(`${distributionId}/batches`));
159
+ }
160
+ /**
161
+ * The pool, paginated. Codes come back in full (they are not secrets), each with its
162
+ * one-tap Apple redeem link.
163
+ * GET /admin/distribution/{distributionId}/codes
164
+ */
165
+ getCodesRaw(distributionId, options) {
166
+ const url = this.buildUrlWithParams(`admin/distribution/${distributionId}/codes`, {
167
+ statusId: options?.statusId,
168
+ search: options?.search,
169
+ skip: options?.skip ?? 0,
170
+ take: options?.take ?? 50,
171
+ });
172
+ return this.http.get(url);
173
+ }
174
+ /** The audit trail for one code. GET /admin/distribution/codes/{codeId}/events */
175
+ async getCodeEvents(codeId) {
176
+ const response = await this.getCodeEventsRaw(codeId);
177
+ return response.data ?? [];
178
+ }
179
+ getCodeEventsRaw(codeId) {
180
+ return this.http.get(this.adminUrl(`codes/${codeId}/events`));
181
+ }
182
+ // ==================== ADMIN — assignment ====================
183
+ /**
184
+ * Claim `count` codes from the pool for one user, and email them.
185
+ * POST /admin/distribution/{distributionId}/codes/assign
186
+ *
187
+ * Rejects with **409** when the pool is empty — the cue to upload more codes.
188
+ * When the pool runs out mid-way it returns what it managed to claim.
189
+ */
190
+ async assignCodes(distributionId, request) {
191
+ const response = await this.assignCodesRaw(distributionId, request);
192
+ return response.data ?? [];
193
+ }
194
+ assignCodesRaw(distributionId, request) {
195
+ const url = this.adminUrl(`${distributionId}/codes/assign`);
196
+ return this.http.post(url, request);
197
+ }
198
+ /** Hand out one specific code. POST /admin/distribution/codes/{codeId}/assign */
199
+ assignSpecificCodeRaw(codeId, request) {
200
+ return this.http.post(this.adminUrl(`codes/${codeId}/assign`), request);
201
+ }
202
+ /**
203
+ * Return an UNUSED code to the pool.
204
+ * **409 if it has already been redeemed** — a used code is spent, there is nothing
205
+ * to take back.
206
+ */
207
+ async unassignCode(codeId, note) {
208
+ const response = await this.unassignCodeRaw(codeId, note);
209
+ return response.success;
210
+ }
211
+ unassignCodeRaw(codeId, note) {
212
+ return this.http.post(this.adminUrl(`codes/${codeId}/unassign`), { note });
213
+ }
214
+ /**
215
+ * Burn an UNUSED code so nobody can use it.
216
+ * **409 if it has already been redeemed** — you cannot un-ring that bell.
217
+ */
218
+ async revokeCode(codeId, note) {
219
+ const response = await this.revokeCodeRaw(codeId, note);
220
+ return response.success;
221
+ }
222
+ revokeCodeRaw(codeId, note) {
223
+ return this.http.post(this.adminUrl(`codes/${codeId}/revoke`), { note });
224
+ }
225
+ /**
226
+ * Admin correction — e.g. Apple rejected the code, so mark it Invalid.
227
+ * Cannot move a code out of a terminal state, and cannot force one back to Available.
228
+ */
229
+ async setCodeStatus(codeId, request) {
230
+ const response = await this.setCodeStatusRaw(codeId, request);
231
+ return response.success;
232
+ }
233
+ setCodeStatusRaw(codeId, request) {
234
+ return this.http.patch(this.adminUrl(`codes/${codeId}/status`), request);
235
+ }
236
+ /** Mark a code used on the holder's behalf ("they told me it worked"). One-way. */
237
+ async markCodeRedeemed(codeId) {
238
+ const response = await this.markCodeRedeemedRaw(codeId);
239
+ return response.success;
240
+ }
241
+ markCodeRedeemedRaw(codeId) {
242
+ return this.http.post(this.adminUrl(`codes/${codeId}/redeem`));
243
+ }
244
+ // ==================== helpers ====================
245
+ adminUrl(endpoint) {
246
+ return this.buildUrl(`admin/distribution/${endpoint}`);
247
+ }
248
+ }
249
+ AppDistributionService.DEFAULT_SERVICE_PATH = 'application-catalogue';
250
+ AppDistributionService.BASE_PATH = 'api/catalogue';
251
+ //# sourceMappingURL=AppDistributionService.js.map