@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.
- package/dist/models/accounselling/Leader.d.ts +2 -0
- package/dist/models/accounselling/Leader.d.ts.map +1 -1
- package/dist/models/accounselling/ModelView/LeaderModelView.d.ts +12 -0
- package/dist/models/accounselling/ModelView/LeaderModelView.d.ts.map +1 -1
- package/dist/models/accourses/CourseCustomField.d.ts +36 -0
- package/dist/models/accourses/CourseCustomField.d.ts.map +1 -0
- package/dist/models/accourses/CourseCustomField.js +2 -0
- package/dist/models/accourses/CourseCustomField.js.map +1 -0
- package/dist/models/accourses/CourseSession.d.ts +2 -0
- package/dist/models/accourses/CourseSession.d.ts.map +1 -1
- package/dist/models/accourses/MemberRegistration.d.ts +2 -0
- package/dist/models/accourses/MemberRegistration.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/ACCourseModelView.d.ts +3 -0
- package/dist/models/accourses/ModelView/ACCourseModelView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/ACCourseSessionModelView.d.ts +9 -0
- package/dist/models/accourses/ModelView/ACCourseSessionModelView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/CourseCustomFieldModelView.d.ts +69 -0
- package/dist/models/accourses/ModelView/CourseCustomFieldModelView.d.ts.map +1 -0
- package/dist/models/accourses/ModelView/CourseCustomFieldModelView.js +2 -0
- package/dist/models/accourses/ModelView/CourseCustomFieldModelView.js.map +1 -0
- package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts +2 -0
- package/dist/models/accourses/ModelView/FacilitatorAssociationViews.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/FacilitatorModelView.d.ts +4 -0
- package/dist/models/accourses/ModelView/FacilitatorModelView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationChildRequests.d.ts +1 -45
- package/dist/models/accourses/ModelView/RegistrationChildRequests.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationChildRequests.js +1 -1
- package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.d.ts +59 -0
- package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.d.ts.map +1 -0
- package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.js +2 -0
- package/dist/models/accourses/ModelView/RegistrationCourseCustomDataModelView.js.map +1 -0
- package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.d.ts +59 -0
- package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.d.ts.map +1 -0
- package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.js +2 -0
- package/dist/models/accourses/ModelView/RegistrationCustomSessionDataModelView.js.map +1 -0
- package/dist/models/accourses/ModelView/RegistrationListView.d.ts +2 -0
- package/dist/models/accourses/ModelView/RegistrationListView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationModelView.d.ts +7 -65
- package/dist/models/accourses/ModelView/RegistrationModelView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationNoteFileRequests.d.ts +16 -0
- package/dist/models/accourses/ModelView/RegistrationNoteFileRequests.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationSessionModelView.d.ts +12 -1
- package/dist/models/accourses/ModelView/RegistrationSessionModelView.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.d.ts +41 -0
- package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.d.ts.map +1 -0
- package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.js +2 -0
- package/dist/models/accourses/ModelView/RegistrationSessionNoteModelView.js.map +1 -0
- package/dist/models/accourses/ModelView/SessionCustomFieldModelView.d.ts +69 -0
- package/dist/models/accourses/ModelView/SessionCustomFieldModelView.d.ts.map +1 -0
- package/dist/models/accourses/ModelView/SessionCustomFieldModelView.js +2 -0
- package/dist/models/accourses/ModelView/SessionCustomFieldModelView.js.map +1 -0
- package/dist/models/accourses/ModelView/index.d.ts +5 -0
- package/dist/models/accourses/ModelView/index.d.ts.map +1 -1
- package/dist/models/accourses/ModelView/index.js +5 -0
- package/dist/models/accourses/ModelView/index.js.map +1 -1
- package/dist/models/accourses/RegistrationCourseCustomData.d.ts +27 -0
- package/dist/models/accourses/RegistrationCourseCustomData.d.ts.map +1 -0
- package/dist/models/accourses/RegistrationCourseCustomData.js +2 -0
- package/dist/models/accourses/RegistrationCourseCustomData.js.map +1 -0
- package/dist/models/accourses/RegistrationCustomSessionData.d.ts +27 -0
- package/dist/models/accourses/RegistrationCustomSessionData.d.ts.map +1 -0
- package/dist/models/accourses/RegistrationCustomSessionData.js +2 -0
- package/dist/models/accourses/RegistrationCustomSessionData.js.map +1 -0
- package/dist/models/accourses/RegistrationSession.d.ts +2 -0
- package/dist/models/accourses/RegistrationSession.d.ts.map +1 -1
- package/dist/models/accourses/RegistrationSessionNote.d.ts +32 -0
- package/dist/models/accourses/RegistrationSessionNote.d.ts.map +1 -0
- package/dist/models/accourses/RegistrationSessionNote.js +2 -0
- package/dist/models/accourses/RegistrationSessionNote.js.map +1 -0
- package/dist/models/accourses/SessionCustomField.d.ts +36 -0
- package/dist/models/accourses/SessionCustomField.d.ts.map +1 -0
- package/dist/models/accourses/SessionCustomField.js +2 -0
- package/dist/models/accourses/SessionCustomField.js.map +1 -0
- package/dist/models/accourses/index.d.ts +5 -2
- package/dist/models/accourses/index.d.ts.map +1 -1
- package/dist/models/accourses/index.js +5 -2
- package/dist/models/accourses/index.js.map +1 -1
- package/dist/models/ai/AiBudgetAnalytics.d.ts +150 -0
- package/dist/models/ai/AiBudgetAnalytics.d.ts.map +1 -0
- package/dist/models/ai/AiBudgetAnalytics.js +13 -0
- package/dist/models/ai/AiBudgetAnalytics.js.map +1 -0
- package/dist/models/ai/index.d.ts +1 -0
- package/dist/models/ai/index.d.ts.map +1 -1
- package/dist/models/ai/index.js +1 -0
- package/dist/models/ai/index.js.map +1 -1
- package/dist/models/applicationcatalogue/AppDistribution.d.ts +284 -0
- package/dist/models/applicationcatalogue/AppDistribution.d.ts.map +1 -0
- package/dist/models/applicationcatalogue/AppDistribution.js +39 -0
- package/dist/models/applicationcatalogue/AppDistribution.js.map +1 -0
- package/dist/models/applicationcatalogue/index.d.ts +1 -0
- package/dist/models/applicationcatalogue/index.d.ts.map +1 -1
- package/dist/models/applicationcatalogue/index.js +1 -0
- package/dist/models/applicationcatalogue/index.js.map +1 -1
- package/dist/models/budgets/Budget.d.ts +57 -0
- package/dist/models/budgets/Budget.d.ts.map +1 -0
- package/dist/models/budgets/Budget.js +2 -0
- package/dist/models/budgets/Budget.js.map +1 -0
- package/dist/models/budgets/BudgetAlert.d.ts +29 -0
- package/dist/models/budgets/BudgetAlert.d.ts.map +1 -0
- package/dist/models/budgets/BudgetAlert.js +2 -0
- package/dist/models/budgets/BudgetAlert.js.map +1 -0
- package/dist/models/budgets/BudgetAlertThreshold.d.ts +19 -0
- package/dist/models/budgets/BudgetAlertThreshold.d.ts.map +1 -0
- package/dist/models/budgets/BudgetAlertThreshold.js +2 -0
- package/dist/models/budgets/BudgetAlertThreshold.js.map +1 -0
- package/dist/models/budgets/BudgetAllocation.d.ts +21 -0
- package/dist/models/budgets/BudgetAllocation.d.ts.map +1 -0
- package/dist/models/budgets/BudgetAllocation.js +2 -0
- package/dist/models/budgets/BudgetAllocation.js.map +1 -0
- package/dist/models/budgets/BudgetAmountInputType.d.ts +17 -0
- package/dist/models/budgets/BudgetAmountInputType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetAmountInputType.js +2 -0
- package/dist/models/budgets/BudgetAmountInputType.js.map +1 -0
- package/dist/models/budgets/BudgetAnalyticsV3.d.ts +180 -0
- package/dist/models/budgets/BudgetAnalyticsV3.d.ts.map +1 -0
- package/dist/models/budgets/BudgetAnalyticsV3.js +5 -0
- package/dist/models/budgets/BudgetAnalyticsV3.js.map +1 -0
- package/dist/models/budgets/BudgetApproval.d.ts +20 -0
- package/dist/models/budgets/BudgetApproval.d.ts.map +1 -0
- package/dist/models/budgets/BudgetApproval.js +2 -0
- package/dist/models/budgets/BudgetApproval.js.map +1 -0
- package/dist/models/budgets/BudgetApprovalStatus.d.ts +16 -0
- package/dist/models/budgets/BudgetApprovalStatus.d.ts.map +1 -0
- package/dist/models/budgets/BudgetApprovalStatus.js +2 -0
- package/dist/models/budgets/BudgetApprovalStatus.js.map +1 -0
- package/dist/models/budgets/BudgetCategory.d.ts +23 -0
- package/dist/models/budgets/BudgetCategory.d.ts.map +1 -0
- package/dist/models/budgets/BudgetCategory.js +2 -0
- package/dist/models/budgets/BudgetCategory.js.map +1 -0
- package/dist/models/budgets/BudgetChangeRequest.d.ts +28 -0
- package/dist/models/budgets/BudgetChangeRequest.d.ts.map +1 -0
- package/dist/models/budgets/BudgetChangeRequest.js +2 -0
- package/dist/models/budgets/BudgetChangeRequest.js.map +1 -0
- package/dist/models/budgets/BudgetChangeRequestType.d.ts +16 -0
- package/dist/models/budgets/BudgetChangeRequestType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetChangeRequestType.js +2 -0
- package/dist/models/budgets/BudgetChangeRequestType.js.map +1 -0
- package/dist/models/budgets/BudgetForecast.d.ts +151 -0
- package/dist/models/budgets/BudgetForecast.d.ts.map +1 -0
- package/dist/models/budgets/BudgetForecast.js +9 -0
- package/dist/models/budgets/BudgetForecast.js.map +1 -0
- package/dist/models/budgets/BudgetFundingSourceType.d.ts +17 -0
- package/dist/models/budgets/BudgetFundingSourceType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetFundingSourceType.js +2 -0
- package/dist/models/budgets/BudgetFundingSourceType.js.map +1 -0
- package/dist/models/budgets/BudgetHealthStatus.d.ts +18 -0
- package/dist/models/budgets/BudgetHealthStatus.d.ts.map +1 -0
- package/dist/models/budgets/BudgetHealthStatus.js +2 -0
- package/dist/models/budgets/BudgetHealthStatus.js.map +1 -0
- package/dist/models/budgets/BudgetItem.d.ts +33 -0
- package/dist/models/budgets/BudgetItem.d.ts.map +1 -0
- package/dist/models/budgets/BudgetItem.js +2 -0
- package/dist/models/budgets/BudgetItem.js.map +1 -0
- package/dist/models/budgets/BudgetRelease.d.ts +22 -0
- package/dist/models/budgets/BudgetRelease.d.ts.map +1 -0
- package/dist/models/budgets/BudgetRelease.js +2 -0
- package/dist/models/budgets/BudgetRelease.js.map +1 -0
- package/dist/models/budgets/BudgetReleaseValueType.d.ts +17 -0
- package/dist/models/budgets/BudgetReleaseValueType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetReleaseValueType.js +2 -0
- package/dist/models/budgets/BudgetReleaseValueType.js.map +1 -0
- package/dist/models/budgets/BudgetSelection.d.ts +18 -0
- package/dist/models/budgets/BudgetSelection.d.ts.map +1 -0
- package/dist/models/budgets/BudgetSelection.js +2 -0
- package/dist/models/budgets/BudgetSelection.js.map +1 -0
- package/dist/models/budgets/BudgetSetting.d.ts +41 -0
- package/dist/models/budgets/BudgetSetting.d.ts.map +1 -0
- package/dist/models/budgets/BudgetSetting.js +2 -0
- package/dist/models/budgets/BudgetSetting.js.map +1 -0
- package/dist/models/budgets/BudgetStatus.d.ts +19 -0
- package/dist/models/budgets/BudgetStatus.d.ts.map +1 -0
- package/dist/models/budgets/BudgetStatus.js +2 -0
- package/dist/models/budgets/BudgetStatus.js.map +1 -0
- package/dist/models/budgets/BudgetTransaction.d.ts +45 -0
- package/dist/models/budgets/BudgetTransaction.d.ts.map +1 -0
- package/dist/models/budgets/BudgetTransaction.js +2 -0
- package/dist/models/budgets/BudgetTransaction.js.map +1 -0
- package/dist/models/budgets/BudgetTransactionSource.d.ts +17 -0
- package/dist/models/budgets/BudgetTransactionSource.d.ts.map +1 -0
- package/dist/models/budgets/BudgetTransactionSource.js +2 -0
- package/dist/models/budgets/BudgetTransactionSource.js.map +1 -0
- package/dist/models/budgets/BudgetTransactionType.d.ts +17 -0
- package/dist/models/budgets/BudgetTransactionType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetTransactionType.js +2 -0
- package/dist/models/budgets/BudgetTransactionType.js.map +1 -0
- package/dist/models/budgets/BudgetType.d.ts +16 -0
- package/dist/models/budgets/BudgetType.d.ts.map +1 -0
- package/dist/models/budgets/BudgetType.js +2 -0
- package/dist/models/budgets/BudgetType.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAlertModelView.d.ts +29 -0
- package/dist/models/budgets/ModelView/BudgetAlertModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAlertModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetAlertModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.d.ts +25 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.js +9 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsMatrix.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsRow.d.ts +20 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsRow.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsRow.js +2 -0
- package/dist/models/budgets/ModelView/BudgetAnalyticsRow.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.d.ts +11 -0
- package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.js +2 -0
- package/dist/models/budgets/ModelView/BudgetApprovalActionViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetApprovalModelView.d.ts +24 -0
- package/dist/models/budgets/ModelView/BudgetApprovalModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetApprovalModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetApprovalModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetCategoryModelView.d.ts +22 -0
- package/dist/models/budgets/ModelView/BudgetCategoryModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetCategoryModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetCategoryModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.d.ts +30 -0
- package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetChangeRequestModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetCheckResult.d.ts +38 -0
- package/dist/models/budgets/ModelView/BudgetCheckResult.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetCheckResult.js +2 -0
- package/dist/models/budgets/ModelView/BudgetCheckResult.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetDashboardOverview.d.ts +63 -0
- package/dist/models/budgets/ModelView/BudgetDashboardOverview.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetDashboardOverview.js +2 -0
- package/dist/models/budgets/ModelView/BudgetDashboardOverview.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetModelView.d.ts +61 -0
- package/dist/models/budgets/ModelView/BudgetModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetMyOverview.d.ts +46 -0
- package/dist/models/budgets/ModelView/BudgetMyOverview.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetMyOverview.js +2 -0
- package/dist/models/budgets/ModelView/BudgetMyOverview.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetSummary.d.ts +48 -0
- package/dist/models/budgets/ModelView/BudgetSummary.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetSummary.js +13 -0
- package/dist/models/budgets/ModelView/BudgetSummary.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetTransactionModelView.d.ts +43 -0
- package/dist/models/budgets/ModelView/BudgetTransactionModelView.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetTransactionModelView.js +2 -0
- package/dist/models/budgets/ModelView/BudgetTransactionModelView.js.map +1 -0
- package/dist/models/budgets/ModelView/BudgetUserRef.d.ts +14 -0
- package/dist/models/budgets/ModelView/BudgetUserRef.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/BudgetUserRef.js +2 -0
- package/dist/models/budgets/ModelView/BudgetUserRef.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.d.ts +15 -0
- package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateAdjustmentViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.d.ts +14 -0
- package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetAllocationViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.d.ts +14 -0
- package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetCategoryViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.d.ts +12 -0
- package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetChangeRequestViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.d.ts +32 -0
- package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.js +9 -0
- package/dist/models/budgets/ModelView/CreateBudgetFromProjectViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.d.ts +21 -0
- package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetItemViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.d.ts +12 -0
- package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetSelectionViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.d.ts +13 -0
- package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetThresholdViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetViewModel.d.ts +28 -0
- package/dist/models/budgets/ModelView/CreateBudgetViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/CreateBudgetViewModel.js +2 -0
- package/dist/models/budgets/ModelView/CreateBudgetViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.d.ts +11 -0
- package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.js +2 -0
- package/dist/models/budgets/ModelView/DecideBudgetChangeRequestViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/GenerateReleasesViewModel.d.ts +15 -0
- package/dist/models/budgets/ModelView/GenerateReleasesViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/GenerateReleasesViewModel.js +2 -0
- package/dist/models/budgets/ModelView/GenerateReleasesViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.d.ts +35 -0
- package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.js +10 -0
- package/dist/models/budgets/ModelView/ImportBudgetItemsViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/ReassignBudgetViewModel.d.ts +12 -0
- package/dist/models/budgets/ModelView/ReassignBudgetViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/ReassignBudgetViewModel.js +2 -0
- package/dist/models/budgets/ModelView/ReassignBudgetViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.d.ts +13 -0
- package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetAllocationViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.d.ts +15 -0
- package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetCategoryViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.d.ts +19 -0
- package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetItemViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.d.ts +24 -0
- package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetSettingViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.d.ts +10 -0
- package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetThresholdActiveViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetViewModel.d.ts +30 -0
- package/dist/models/budgets/ModelView/UpdateBudgetViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpdateBudgetViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpdateBudgetViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.d.ts +12 -0
- package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.js +2 -0
- package/dist/models/budgets/ModelView/UpsertBudgetReleaseViewModel.js.map +1 -0
- package/dist/models/budgets/ModelView/index.d.ts +38 -0
- package/dist/models/budgets/ModelView/index.d.ts.map +1 -0
- package/dist/models/budgets/ModelView/index.js +38 -0
- package/dist/models/budgets/ModelView/index.js.map +1 -0
- package/dist/models/budgets/index.d.ts +29 -0
- package/dist/models/budgets/index.d.ts.map +1 -0
- package/dist/models/budgets/index.js +33 -0
- package/dist/models/budgets/index.js.map +1 -0
- package/dist/models/common/BulkDelete.d.ts +21 -0
- package/dist/models/common/BulkDelete.d.ts.map +1 -0
- package/dist/models/common/BulkDelete.js +12 -0
- package/dist/models/common/BulkDelete.js.map +1 -0
- package/dist/models/common/index.d.ts +2 -0
- package/dist/models/common/index.d.ts.map +1 -1
- package/dist/models/common/index.js +1 -0
- package/dist/models/common/index.js.map +1 -1
- package/dist/models/communication/AppPushTemplate.d.ts +3 -0
- package/dist/models/communication/AppPushTemplate.d.ts.map +1 -1
- package/dist/models/communication/ModelView/AppTemplateModelView.d.ts +40 -0
- package/dist/models/communication/ModelView/AppTemplateModelView.d.ts.map +1 -1
- package/dist/models/identity/ModelView/UserPushDeviceViewModel.d.ts +2 -0
- package/dist/models/identity/ModelView/UserPushDeviceViewModel.d.ts.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +2 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/system/CustomFieldType.d.ts +32 -0
- package/dist/models/system/CustomFieldType.d.ts.map +1 -0
- package/dist/models/system/CustomFieldType.js +2 -0
- package/dist/models/system/CustomFieldType.js.map +1 -0
- package/dist/models/system/index.d.ts +1 -0
- package/dist/models/system/index.d.ts.map +1 -1
- package/dist/models/system/index.js +1 -0
- package/dist/models/system/index.js.map +1 -1
- package/dist/models/users/ModelView/UserPushDeviceViewModel.d.ts +2 -0
- package/dist/models/users/ModelView/UserPushDeviceViewModel.d.ts.map +1 -1
- package/dist/react/CCMSProvider.d.ts.map +1 -1
- package/dist/react/CCMSProvider.js +5 -0
- package/dist/react/CCMSProvider.js.map +1 -1
- package/dist/react/hooks/services/index.d.ts +1 -0
- package/dist/react/hooks/services/index.d.ts.map +1 -1
- package/dist/react/hooks/services/index.js +2 -0
- package/dist/react/hooks/services/index.js.map +1 -1
- package/dist/react/hooks/services/useACCoursesServices.d.ts +9 -1
- package/dist/react/hooks/services/useACCoursesServices.d.ts.map +1 -1
- package/dist/react/hooks/services/useACCoursesServices.js +12 -0
- package/dist/react/hooks/services/useACCoursesServices.js.map +1 -1
- package/dist/react/hooks/services/useAiServices.d.ts +6 -1
- package/dist/react/hooks/services/useAiServices.d.ts.map +1 -1
- package/dist/react/hooks/services/useAiServices.js +7 -0
- package/dist/react/hooks/services/useAiServices.js.map +1 -1
- package/dist/react/hooks/services/useApplicationCatalogueServices.d.ts +7 -1
- package/dist/react/hooks/services/useApplicationCatalogueServices.d.ts.map +1 -1
- package/dist/react/hooks/services/useApplicationCatalogueServices.js +8 -0
- package/dist/react/hooks/services/useApplicationCatalogueServices.js.map +1 -1
- package/dist/react/hooks/services/useBudgetsServices.d.ts +37 -0
- package/dist/react/hooks/services/useBudgetsServices.d.ts.map +1 -0
- package/dist/react/hooks/services/useBudgetsServices.js +95 -0
- package/dist/react/hooks/services/useBudgetsServices.js.map +1 -0
- package/dist/react/hooks/services/useSystemServices.d.ts +5 -1
- package/dist/react/hooks/services/useSystemServices.d.ts.map +1 -1
- package/dist/react/hooks/services/useSystemServices.js +6 -0
- package/dist/react/hooks/services/useSystemServices.js.map +1 -1
- package/dist/react/hooks/useCCMS.d.ts +2 -0
- package/dist/react/hooks/useCCMS.d.ts.map +1 -1
- package/dist/react/hooks/useCCMS.js.map +1 -1
- package/dist/services/accourses/CourseCustomFieldService.d.ts +25 -0
- package/dist/services/accourses/CourseCustomFieldService.d.ts.map +1 -0
- package/dist/services/accourses/CourseCustomFieldService.js +39 -0
- package/dist/services/accourses/CourseCustomFieldService.js.map +1 -0
- package/dist/services/accourses/RegistrationService.d.ts +49 -25
- package/dist/services/accourses/RegistrationService.d.ts.map +1 -1
- package/dist/services/accourses/RegistrationService.js +127 -46
- package/dist/services/accourses/RegistrationService.js.map +1 -1
- package/dist/services/accourses/SessionCustomFieldService.d.ts +25 -0
- package/dist/services/accourses/SessionCustomFieldService.d.ts.map +1 -0
- package/dist/services/accourses/SessionCustomFieldService.js +39 -0
- package/dist/services/accourses/SessionCustomFieldService.js.map +1 -0
- package/dist/services/accourses/index.d.ts +8 -0
- package/dist/services/accourses/index.d.ts.map +1 -1
- package/dist/services/accourses/index.js +6 -0
- package/dist/services/accourses/index.js.map +1 -1
- package/dist/services/ai/AiBudgetAnalyticsService.d.ts +40 -0
- package/dist/services/ai/AiBudgetAnalyticsService.d.ts.map +1 -0
- package/dist/services/ai/AiBudgetAnalyticsService.js +63 -0
- package/dist/services/ai/AiBudgetAnalyticsService.js.map +1 -0
- package/dist/services/ai/index.d.ts +3 -0
- package/dist/services/ai/index.d.ts.map +1 -1
- package/dist/services/ai/index.js +3 -0
- package/dist/services/ai/index.js.map +1 -1
- package/dist/services/applicationcatalogue/AppDistributionService.d.ts +142 -0
- package/dist/services/applicationcatalogue/AppDistributionService.d.ts.map +1 -0
- package/dist/services/applicationcatalogue/AppDistributionService.js +251 -0
- package/dist/services/applicationcatalogue/AppDistributionService.js.map +1 -0
- package/dist/services/applicationcatalogue/index.d.ts +8 -1
- package/dist/services/applicationcatalogue/index.d.ts.map +1 -1
- package/dist/services/applicationcatalogue/index.js +4 -1
- package/dist/services/applicationcatalogue/index.js.map +1 -1
- package/dist/services/budgets/BudgetAlertService.d.ts +27 -0
- package/dist/services/budgets/BudgetAlertService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetAlertService.js +39 -0
- package/dist/services/budgets/BudgetAlertService.js.map +1 -0
- package/dist/services/budgets/BudgetAlertThresholdService.d.ts +23 -0
- package/dist/services/budgets/BudgetAlertThresholdService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetAlertThresholdService.js +30 -0
- package/dist/services/budgets/BudgetAlertThresholdService.js.map +1 -0
- package/dist/services/budgets/BudgetAllocationService.d.ts +24 -0
- package/dist/services/budgets/BudgetAllocationService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetAllocationService.js +42 -0
- package/dist/services/budgets/BudgetAllocationService.js.map +1 -0
- package/dist/services/budgets/BudgetAmountInputTypeService.d.ts +16 -0
- package/dist/services/budgets/BudgetAmountInputTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetAmountInputTypeService.js +19 -0
- package/dist/services/budgets/BudgetAmountInputTypeService.js.map +1 -0
- package/dist/services/budgets/BudgetAnomalyService.d.ts +36 -0
- package/dist/services/budgets/BudgetAnomalyService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetAnomalyService.js +54 -0
- package/dist/services/budgets/BudgetAnomalyService.js.map +1 -0
- package/dist/services/budgets/BudgetApprovalService.d.ts +20 -0
- package/dist/services/budgets/BudgetApprovalService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetApprovalService.js +27 -0
- package/dist/services/budgets/BudgetApprovalService.js.map +1 -0
- package/dist/services/budgets/BudgetApprovalStatusService.d.ts +15 -0
- package/dist/services/budgets/BudgetApprovalStatusService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetApprovalStatusService.js +18 -0
- package/dist/services/budgets/BudgetApprovalStatusService.js.map +1 -0
- package/dist/services/budgets/BudgetCategoryService.d.ts +30 -0
- package/dist/services/budgets/BudgetCategoryService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetCategoryService.js +57 -0
- package/dist/services/budgets/BudgetCategoryService.js.map +1 -0
- package/dist/services/budgets/BudgetChangeRequestService.d.ts +40 -0
- package/dist/services/budgets/BudgetChangeRequestService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetChangeRequestService.js +74 -0
- package/dist/services/budgets/BudgetChangeRequestService.js.map +1 -0
- package/dist/services/budgets/BudgetChangeRequestTypeService.d.ts +16 -0
- package/dist/services/budgets/BudgetChangeRequestTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetChangeRequestTypeService.js +19 -0
- package/dist/services/budgets/BudgetChangeRequestTypeService.js.map +1 -0
- package/dist/services/budgets/BudgetCheckService.d.ts +38 -0
- package/dist/services/budgets/BudgetCheckService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetCheckService.js +54 -0
- package/dist/services/budgets/BudgetCheckService.js.map +1 -0
- package/dist/services/budgets/BudgetDashboardService.d.ts +48 -0
- package/dist/services/budgets/BudgetDashboardService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetDashboardService.js +79 -0
- package/dist/services/budgets/BudgetDashboardService.js.map +1 -0
- package/dist/services/budgets/BudgetForecastService.d.ts +57 -0
- package/dist/services/budgets/BudgetForecastService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetForecastService.js +87 -0
- package/dist/services/budgets/BudgetForecastService.js.map +1 -0
- package/dist/services/budgets/BudgetFundingSourceTypeService.d.ts +15 -0
- package/dist/services/budgets/BudgetFundingSourceTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetFundingSourceTypeService.js +18 -0
- package/dist/services/budgets/BudgetFundingSourceTypeService.js.map +1 -0
- package/dist/services/budgets/BudgetHealthStatusService.d.ts +15 -0
- package/dist/services/budgets/BudgetHealthStatusService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetHealthStatusService.js +18 -0
- package/dist/services/budgets/BudgetHealthStatusService.js.map +1 -0
- package/dist/services/budgets/BudgetItemService.d.ts +32 -0
- package/dist/services/budgets/BudgetItemService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetItemService.js +56 -0
- package/dist/services/budgets/BudgetItemService.js.map +1 -0
- package/dist/services/budgets/BudgetReleaseService.d.ts +33 -0
- package/dist/services/budgets/BudgetReleaseService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetReleaseService.js +63 -0
- package/dist/services/budgets/BudgetReleaseService.js.map +1 -0
- package/dist/services/budgets/BudgetReleaseValueTypeService.d.ts +16 -0
- package/dist/services/budgets/BudgetReleaseValueTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetReleaseValueTypeService.js +19 -0
- package/dist/services/budgets/BudgetReleaseValueTypeService.js.map +1 -0
- package/dist/services/budgets/BudgetReportService.d.ts +34 -0
- package/dist/services/budgets/BudgetReportService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetReportService.js +55 -0
- package/dist/services/budgets/BudgetReportService.js.map +1 -0
- package/dist/services/budgets/BudgetService.d.ts +72 -0
- package/dist/services/budgets/BudgetService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetService.js +155 -0
- package/dist/services/budgets/BudgetService.js.map +1 -0
- package/dist/services/budgets/BudgetSettingService.d.ts +21 -0
- package/dist/services/budgets/BudgetSettingService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetSettingService.js +33 -0
- package/dist/services/budgets/BudgetSettingService.js.map +1 -0
- package/dist/services/budgets/BudgetStatusService.d.ts +15 -0
- package/dist/services/budgets/BudgetStatusService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetStatusService.js +18 -0
- package/dist/services/budgets/BudgetStatusService.js.map +1 -0
- package/dist/services/budgets/BudgetTransactionService.d.ts +29 -0
- package/dist/services/budgets/BudgetTransactionService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetTransactionService.js +47 -0
- package/dist/services/budgets/BudgetTransactionService.js.map +1 -0
- package/dist/services/budgets/BudgetTransactionSourceService.d.ts +15 -0
- package/dist/services/budgets/BudgetTransactionSourceService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetTransactionSourceService.js +18 -0
- package/dist/services/budgets/BudgetTransactionSourceService.js.map +1 -0
- package/dist/services/budgets/BudgetTransactionTypeService.d.ts +15 -0
- package/dist/services/budgets/BudgetTransactionTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetTransactionTypeService.js +18 -0
- package/dist/services/budgets/BudgetTransactionTypeService.js.map +1 -0
- package/dist/services/budgets/BudgetTypeService.d.ts +15 -0
- package/dist/services/budgets/BudgetTypeService.d.ts.map +1 -0
- package/dist/services/budgets/BudgetTypeService.js +18 -0
- package/dist/services/budgets/BudgetTypeService.js.map +1 -0
- package/dist/services/budgets/index.d.ts +123 -0
- package/dist/services/budgets/index.d.ts.map +1 -0
- package/dist/services/budgets/index.js +91 -0
- package/dist/services/budgets/index.js.map +1 -0
- package/dist/services/communication/EmailService.d.ts +11 -0
- package/dist/services/communication/EmailService.d.ts.map +1 -1
- package/dist/services/communication/EmailService.js +17 -0
- package/dist/services/communication/EmailService.js.map +1 -1
- package/dist/services/communication/PushNotificationService.d.ts +24 -0
- package/dist/services/communication/PushNotificationService.d.ts.map +1 -1
- package/dist/services/communication/PushNotificationService.js +38 -0
- package/dist/services/communication/PushNotificationService.js.map +1 -1
- package/dist/services/communication/SmsService.d.ts +11 -0
- package/dist/services/communication/SmsService.d.ts.map +1 -1
- package/dist/services/communication/SmsService.js +17 -0
- package/dist/services/communication/SmsService.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/system/CustomFieldTypeService.d.ts +18 -0
- package/dist/services/system/CustomFieldTypeService.d.ts.map +1 -0
- package/dist/services/system/CustomFieldTypeService.js +24 -0
- package/dist/services/system/CustomFieldTypeService.js.map +1 -0
- package/dist/services/system/index.d.ts +3 -0
- package/dist/services/system/index.d.ts.map +1 -1
- package/dist/services/system/index.js +3 -0
- package/dist/services/system/index.js.map +1 -1
- package/dist/services/task-portal/models/index.d.ts +1 -0
- package/dist/services/task-portal/models/index.d.ts.map +1 -1
- package/dist/services/types.d.ts +2 -0
- package/dist/services/types.d.ts.map +1 -1
- package/dist/services/users/UserPushDeviceService.d.ts +11 -0
- package/dist/services/users/UserPushDeviceService.d.ts.map +1 -1
- package/dist/services/users/UserPushDeviceService.js +17 -0
- package/dist/services/users/UserPushDeviceService.js.map +1 -1
- package/package.json +1 -1
- package/dist/models/accourses/RegistrationCustomField.d.ts +0 -39
- package/dist/models/accourses/RegistrationCustomField.d.ts.map +0 -1
- package/dist/models/accourses/RegistrationCustomField.js +0 -2
- package/dist/models/accourses/RegistrationCustomField.js.map +0 -1
- package/dist/models/accourses/RegistrationSpecialSession.d.ts +0 -39
- package/dist/models/accourses/RegistrationSpecialSession.d.ts.map +0 -1
- package/dist/models/accourses/RegistrationSpecialSession.js +0 -2
- 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":"AAAA;;;GAGG;AAKH,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,8BAA8B;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;
|
|
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,
|
|
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;
|
|
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
|