@actschurch/ccms-sdk 0.0.26 → 0.0.28
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/ModelView/CareSessionModelView.d.ts +31 -0
- package/dist/models/accounselling/ModelView/CareSessionModelView.d.ts.map +1 -1
- package/dist/models/analytics/KnowledgeSearch.d.ts +10 -0
- package/dist/models/analytics/KnowledgeSearch.d.ts.map +1 -1
- package/dist/models/dashboard/index.d.ts +282 -3
- package/dist/models/dashboard/index.d.ts.map +1 -1
- package/dist/models/dashboard/index.js +315 -3
- package/dist/models/dashboard/index.js.map +1 -1
- package/dist/models/resources/ModelView/CourseModelView.d.ts +17 -0
- package/dist/models/resources/ModelView/CourseModelView.d.ts.map +1 -1
- package/dist/models/resources/ResourceSettings.d.ts +31 -0
- package/dist/models/resources/ResourceSettings.d.ts.map +1 -0
- package/dist/models/resources/ResourceSettings.js +2 -0
- package/dist/models/resources/ResourceSettings.js.map +1 -0
- package/dist/models/resources/SessionNote.d.ts +30 -0
- package/dist/models/resources/SessionNote.d.ts.map +1 -0
- package/dist/models/resources/SessionNote.js +2 -0
- package/dist/models/resources/SessionNote.js.map +1 -0
- package/dist/models/resources/index.d.ts +2 -0
- package/dist/models/resources/index.d.ts.map +1 -1
- package/dist/models/resources/index.js +3 -0
- package/dist/models/resources/index.js.map +1 -1
- package/dist/react/hooks/services/useResourcesServices.d.ts +5 -1
- package/dist/react/hooks/services/useResourcesServices.d.ts.map +1 -1
- package/dist/react/hooks/services/useResourcesServices.js +6 -0
- package/dist/react/hooks/services/useResourcesServices.js.map +1 -1
- package/dist/realtime/dashboards/DashboardAggregatorClient.d.ts +48 -0
- package/dist/realtime/dashboards/DashboardAggregatorClient.d.ts.map +1 -0
- package/dist/realtime/dashboards/DashboardAggregatorClient.js +65 -0
- package/dist/realtime/dashboards/DashboardAggregatorClient.js.map +1 -0
- package/dist/realtime/dashboards/index.d.ts +1 -0
- package/dist/realtime/dashboards/index.d.ts.map +1 -1
- package/dist/realtime/dashboards/index.js +3 -0
- package/dist/realtime/dashboards/index.js.map +1 -1
- package/dist/services/accounselling/CareCaseService.d.ts +115 -1
- package/dist/services/accounselling/CareCaseService.d.ts.map +1 -1
- package/dist/services/accounselling/CareCaseService.js +171 -0
- package/dist/services/accounselling/CareCaseService.js.map +1 -1
- package/dist/services/dashboard/DashboardAggregatorService.d.ts +73 -0
- package/dist/services/dashboard/DashboardAggregatorService.d.ts.map +1 -0
- package/dist/services/dashboard/DashboardAggregatorService.js +145 -0
- package/dist/services/dashboard/DashboardAggregatorService.js.map +1 -0
- package/dist/services/dashboard/DashboardLayoutService.d.ts +46 -0
- package/dist/services/dashboard/DashboardLayoutService.d.ts.map +1 -0
- package/dist/services/dashboard/DashboardLayoutService.js +75 -0
- package/dist/services/dashboard/DashboardLayoutService.js.map +1 -0
- package/dist/services/dashboard/DashboardServices.d.ts +38 -0
- package/dist/services/dashboard/DashboardServices.d.ts.map +1 -0
- package/dist/services/dashboard/DashboardServices.js +28 -0
- package/dist/services/dashboard/DashboardServices.js.map +1 -0
- package/dist/services/dashboard/index.d.ts +11 -0
- package/dist/services/dashboard/index.d.ts.map +1 -0
- package/dist/services/dashboard/index.js +10 -0
- package/dist/services/dashboard/index.js.map +1 -0
- 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/knowledgebase/KnowledgeBaseQAService.d.ts +7 -1
- package/dist/services/knowledgebase/KnowledgeBaseQAService.d.ts.map +1 -1
- package/dist/services/knowledgebase/KnowledgeBaseQAService.js +11 -0
- package/dist/services/knowledgebase/KnowledgeBaseQAService.js.map +1 -1
- package/dist/services/members/MemberService.d.ts +17 -0
- package/dist/services/members/MemberService.d.ts.map +1 -1
- package/dist/services/members/MemberService.js +27 -0
- package/dist/services/members/MemberService.js.map +1 -1
- package/dist/services/resources/PublicCoursesService.d.ts +7 -0
- package/dist/services/resources/PublicCoursesService.d.ts.map +1 -1
- package/dist/services/resources/PublicCoursesService.js +12 -0
- package/dist/services/resources/PublicCoursesService.js.map +1 -1
- package/dist/services/resources/ResourceSettingsService.d.ts +26 -0
- package/dist/services/resources/ResourceSettingsService.d.ts.map +1 -0
- package/dist/services/resources/ResourceSettingsService.js +43 -0
- package/dist/services/resources/ResourceSettingsService.js.map +1 -0
- package/dist/services/resources/SessionNoteService.d.ts +27 -0
- package/dist/services/resources/SessionNoteService.d.ts.map +1 -0
- package/dist/services/resources/SessionNoteService.js +44 -0
- package/dist/services/resources/SessionNoteService.js.map +1 -0
- package/dist/services/resources/UserCourseProgressService.d.ts +9 -0
- package/dist/services/resources/UserCourseProgressService.d.ts.map +1 -1
- package/dist/services/resources/UserCourseProgressService.js +13 -0
- package/dist/services/resources/UserCourseProgressService.js.map +1 -1
- package/dist/services/resources/index.d.ts +6 -0
- package/dist/services/resources/index.d.ts.map +1 -1
- package/dist/services/resources/index.js +6 -0
- package/dist/services/resources/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DashboardAggregatorService
|
|
3
|
+
*
|
|
4
|
+
* Reads the cross-domain "my day at CCMS" dashboard composed by the new
|
|
5
|
+
* `CCMS.Api.DashboardAggregator` service. The TS mirror of the Kotlin
|
|
6
|
+
* `DashboardAggregatorService` / Swift `DashboardAggregatorService`.
|
|
7
|
+
*
|
|
8
|
+
* Like the {@link ApplicationCatalogueService}, the aggregator is **not** behind
|
|
9
|
+
* a microservice path prefix — it is reached directly at `/api/dashboard`
|
|
10
|
+
* (nginx `location /api/dashboard/`). It therefore does not extend
|
|
11
|
+
* {@link BaseService}; it builds its own paths.
|
|
12
|
+
*
|
|
13
|
+
* Routes:
|
|
14
|
+
* - GET /api/dashboard/me?widgets=&refresh=
|
|
15
|
+
* - GET /api/dashboard/detail?widget=&item=
|
|
16
|
+
*
|
|
17
|
+
* The aggregator always answers `200` — per-widget failures are isolated inside
|
|
18
|
+
* the payload as {@link DashboardWidget.error}, so the Hub renders an error tile
|
|
19
|
+
* for one widget without losing the whole dashboard.
|
|
20
|
+
*
|
|
21
|
+
* Decoding tolerates both the standard {@link ResponseData} envelope (the
|
|
22
|
+
* documented shape) and a bare-object payload (a deployment that drops the
|
|
23
|
+
* envelope) — matching the Kotlin/Swift unknown-tolerant decoding.
|
|
24
|
+
*/
|
|
25
|
+
import { BUNDLED_WIDGET_CATALOG } from '../../models/dashboard';
|
|
26
|
+
/** Default base path of the dashboard API (not microservice-prefixed). */
|
|
27
|
+
const DEFAULT_BASE_PATH = 'api/dashboard';
|
|
28
|
+
export class DashboardAggregatorService {
|
|
29
|
+
constructor(http, config) {
|
|
30
|
+
this.http = http;
|
|
31
|
+
this.basePath =
|
|
32
|
+
config?.servicePath && config.servicePath.trim() !== ''
|
|
33
|
+
? config.servicePath
|
|
34
|
+
: DEFAULT_BASE_PATH;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Fetch the calling user's composed dashboard via `GET /api/dashboard/me`.
|
|
38
|
+
*
|
|
39
|
+
* @param widgets - The widget ids to request. An empty list omits the
|
|
40
|
+
* `widgets` query param entirely, so the server returns the role-based
|
|
41
|
+
* Phase-1 defaults (`task.my-open-count`, `task.due-today`,
|
|
42
|
+
* `task.recently-assigned`, `hr.next-leave`, `proc.pending-approvals`).
|
|
43
|
+
* @param refresh - When `true`, appends `refresh=true` to bypass the server
|
|
44
|
+
* cache — the pull-to-refresh path.
|
|
45
|
+
*/
|
|
46
|
+
async fetchDashboard(widgets = [], refresh = false) {
|
|
47
|
+
const params = [];
|
|
48
|
+
const cleaned = widgets.filter((w) => w.trim() !== '');
|
|
49
|
+
if (cleaned.length > 0) {
|
|
50
|
+
params.push(`widgets=${encodeURIComponent(cleaned.join(','))}`);
|
|
51
|
+
}
|
|
52
|
+
if (refresh) {
|
|
53
|
+
params.push('refresh=true');
|
|
54
|
+
}
|
|
55
|
+
const suffix = params.length === 0 ? '' : `?${params.join('&')}`;
|
|
56
|
+
const url = `/${this.basePath}/me${suffix}`;
|
|
57
|
+
return this.fetchTolerant(url);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Fetch the enriched detail for one tapped widget row via
|
|
61
|
+
* `GET /api/dashboard/detail?widget=&item=`. Resolves to `null` when the domain
|
|
62
|
+
* has no richer detail (HTTP 404) — the Hub keeps the inline row detail.
|
|
63
|
+
*/
|
|
64
|
+
async fetchWidgetDetail(widgetId, itemId) {
|
|
65
|
+
const url = `/${this.basePath}/detail` +
|
|
66
|
+
`?widget=${encodeURIComponent(widgetId)}&item=${encodeURIComponent(itemId)}`;
|
|
67
|
+
try {
|
|
68
|
+
const raw = await this.http.getRaw(url);
|
|
69
|
+
const maybeEnvelope = raw;
|
|
70
|
+
if (typeof maybeEnvelope.success === 'boolean') {
|
|
71
|
+
return maybeEnvelope.data ?? null;
|
|
72
|
+
}
|
|
73
|
+
return raw ?? null;
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
// 404 = no detail for this item; any other error also degrades to inline.
|
|
77
|
+
const status = err?.status
|
|
78
|
+
?? err?.statusCode;
|
|
79
|
+
if (status === 404)
|
|
80
|
+
return null;
|
|
81
|
+
throw err;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Fetch the widget catalog via `GET /api/dashboard/widgets` — every addable
|
|
86
|
+
* widget with its title, description, kind, category, supported containers,
|
|
87
|
+
* and settings schema. Drives the Hub's add-picker + settings sheet.
|
|
88
|
+
*
|
|
89
|
+
* Envelope-tolerant exactly like {@link fetchDashboard}: unwraps a
|
|
90
|
+
* {@link ResponseData} envelope's `data`, falls back to a bare array.
|
|
91
|
+
*
|
|
92
|
+
* Falls back to the **bundled catalog** ({@link BUNDLED_WIDGET_CATALOG}) when
|
|
93
|
+
* the server returns nothing or the endpoint is unavailable (e.g. an aggregator
|
|
94
|
+
* deployment that predates `GET /widgets`) — so the editor keeps working before
|
|
95
|
+
* the catalog endpoint ships. Never rejects.
|
|
96
|
+
*/
|
|
97
|
+
async fetchWidgetCatalog() {
|
|
98
|
+
try {
|
|
99
|
+
const items = await this.fetchWidgetCatalogFromServer();
|
|
100
|
+
return items.length > 0 ? items : BUNDLED_WIDGET_CATALOG;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return BUNDLED_WIDGET_CATALOG;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** Raw server fetch — used by {@link fetchWidgetCatalog}, which adds the bundled fallback. */
|
|
107
|
+
async fetchWidgetCatalogFromServer() {
|
|
108
|
+
const url = `/${this.basePath}/widgets`;
|
|
109
|
+
const raw = await this.http.getRaw(url);
|
|
110
|
+
const maybeEnvelope = raw;
|
|
111
|
+
// Standard CCMS envelope — the documented shape.
|
|
112
|
+
if (typeof maybeEnvelope.success === 'boolean') {
|
|
113
|
+
return maybeEnvelope.data ?? [];
|
|
114
|
+
}
|
|
115
|
+
// Bare-array fallback (a deployment that drops the envelope).
|
|
116
|
+
return Array.isArray(raw) ? raw : [];
|
|
117
|
+
}
|
|
118
|
+
// ---- Decoding helper (tolerates both enveloped and bare payloads) ----
|
|
119
|
+
/**
|
|
120
|
+
* GET `url` and decode tolerantly: try the bare/raw body first (which also
|
|
121
|
+
* unwraps a `ResponseData` envelope's `data`), so both the documented
|
|
122
|
+
* envelope and an envelope-less deployment resolve to a {@link DashboardResponse}.
|
|
123
|
+
*/
|
|
124
|
+
async fetchTolerant(url) {
|
|
125
|
+
// `getRaw` returns the parsed body without enforcing the envelope, so it
|
|
126
|
+
// tolerates a bare-object payload as well as the standard envelope.
|
|
127
|
+
const raw = await this.http.getRaw(url);
|
|
128
|
+
return unwrapDashboardEnvelope(raw);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Resolve a {@link DashboardResponse} from either the standard
|
|
133
|
+
* {@link ResponseData} envelope or a bare object.
|
|
134
|
+
*/
|
|
135
|
+
function unwrapDashboardEnvelope(raw) {
|
|
136
|
+
const maybeEnvelope = raw;
|
|
137
|
+
// Standard CCMS envelope — the documented shape.
|
|
138
|
+
if (typeof maybeEnvelope.success === 'boolean' &&
|
|
139
|
+
maybeEnvelope.data != null) {
|
|
140
|
+
return maybeEnvelope.data;
|
|
141
|
+
}
|
|
142
|
+
// Bare-object fallback (a deployment that drops the envelope).
|
|
143
|
+
return raw;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=DashboardAggregatorService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardAggregatorService.js","sourceRoot":"","sources":["../../../src/services/dashboard/DashboardAggregatorService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DashboardLayoutService
|
|
3
|
+
*
|
|
4
|
+
* Reads and writes the calling user's personalised dashboard layout (widget
|
|
5
|
+
* set, order, per-widget settings) via the new `CCMS.Api.DashboardAggregator`
|
|
6
|
+
* endpoints. The TS mirror of the Kotlin `DashboardLayoutService` / Swift
|
|
7
|
+
* `DashboardLayoutService`.
|
|
8
|
+
*
|
|
9
|
+
* Like {@link DashboardAggregatorService}, this service is **not** behind a
|
|
10
|
+
* microservice path prefix — the layout endpoints sit directly under
|
|
11
|
+
* `/api/dashboard/me/layout` (nginx `location /api/dashboard/`). It therefore
|
|
12
|
+
* does not extend {@link BaseService}; it builds its own paths.
|
|
13
|
+
*
|
|
14
|
+
* Locked cross-platform contract (`05_DASHBOARD_EXPERIENCE.md`):
|
|
15
|
+
* - GET /api/dashboard/me/layout → `ResponseData<DashboardLayout>`
|
|
16
|
+
* - PUT /api/dashboard/me/layout body `DashboardLayout` → `ResponseData<DashboardLayout>`
|
|
17
|
+
*
|
|
18
|
+
* Decoding tolerates both the standard {@link ResponseData} envelope (the
|
|
19
|
+
* documented shape) and a bare-object payload — matching the Kotlin/Swift
|
|
20
|
+
* unknown-tolerant decoding.
|
|
21
|
+
*/
|
|
22
|
+
import type { HttpClient } from '../../core/HttpClient';
|
|
23
|
+
import type { ServiceConfig } from '../types';
|
|
24
|
+
import type { DashboardLayout } from '../../models/dashboard';
|
|
25
|
+
export declare class DashboardLayoutService {
|
|
26
|
+
private readonly http;
|
|
27
|
+
/** Base path of the dashboard API. `servicePath` override relocates it. */
|
|
28
|
+
private readonly basePath;
|
|
29
|
+
constructor(http: HttpClient, config?: ServiceConfig);
|
|
30
|
+
/**
|
|
31
|
+
* Fetch the calling user's saved dashboard layout via
|
|
32
|
+
* `GET /api/dashboard/me/layout`.
|
|
33
|
+
*
|
|
34
|
+
* A first-time user with no saved layout still gets a `200` — the server
|
|
35
|
+
* returns the role-based default layout — so callers never special-case a
|
|
36
|
+
* `404`.
|
|
37
|
+
*/
|
|
38
|
+
fetchLayout(): Promise<DashboardLayout>;
|
|
39
|
+
/**
|
|
40
|
+
* Persist `layout` via `PUT /api/dashboard/me/layout` and return the
|
|
41
|
+
* server-canonical layout (the server re-stamps {@link DashboardLayout.updatedAt}
|
|
42
|
+
* and may normalise widget order).
|
|
43
|
+
*/
|
|
44
|
+
saveLayout(layout: DashboardLayout): Promise<DashboardLayout>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=DashboardLayoutService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayoutService.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard/DashboardLayoutService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQpD;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAU7C;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CASpE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DashboardLayoutService
|
|
3
|
+
*
|
|
4
|
+
* Reads and writes the calling user's personalised dashboard layout (widget
|
|
5
|
+
* set, order, per-widget settings) via the new `CCMS.Api.DashboardAggregator`
|
|
6
|
+
* endpoints. The TS mirror of the Kotlin `DashboardLayoutService` / Swift
|
|
7
|
+
* `DashboardLayoutService`.
|
|
8
|
+
*
|
|
9
|
+
* Like {@link DashboardAggregatorService}, this service is **not** behind a
|
|
10
|
+
* microservice path prefix — the layout endpoints sit directly under
|
|
11
|
+
* `/api/dashboard/me/layout` (nginx `location /api/dashboard/`). It therefore
|
|
12
|
+
* does not extend {@link BaseService}; it builds its own paths.
|
|
13
|
+
*
|
|
14
|
+
* Locked cross-platform contract (`05_DASHBOARD_EXPERIENCE.md`):
|
|
15
|
+
* - GET /api/dashboard/me/layout → `ResponseData<DashboardLayout>`
|
|
16
|
+
* - PUT /api/dashboard/me/layout body `DashboardLayout` → `ResponseData<DashboardLayout>`
|
|
17
|
+
*
|
|
18
|
+
* Decoding tolerates both the standard {@link ResponseData} envelope (the
|
|
19
|
+
* documented shape) and a bare-object payload — matching the Kotlin/Swift
|
|
20
|
+
* unknown-tolerant decoding.
|
|
21
|
+
*/
|
|
22
|
+
/** Default base path of the dashboard API (not microservice-prefixed). */
|
|
23
|
+
const DEFAULT_BASE_PATH = 'api/dashboard';
|
|
24
|
+
export class DashboardLayoutService {
|
|
25
|
+
constructor(http, config) {
|
|
26
|
+
this.http = http;
|
|
27
|
+
this.basePath =
|
|
28
|
+
config?.servicePath && config.servicePath.trim() !== ''
|
|
29
|
+
? config.servicePath
|
|
30
|
+
: DEFAULT_BASE_PATH;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetch the calling user's saved dashboard layout via
|
|
34
|
+
* `GET /api/dashboard/me/layout`.
|
|
35
|
+
*
|
|
36
|
+
* A first-time user with no saved layout still gets a `200` — the server
|
|
37
|
+
* returns the role-based default layout — so callers never special-case a
|
|
38
|
+
* `404`.
|
|
39
|
+
*/
|
|
40
|
+
async fetchLayout() {
|
|
41
|
+
const url = `/${this.basePath}/me/layout`;
|
|
42
|
+
// `getRaw` returns the parsed body without enforcing the envelope, so it
|
|
43
|
+
// tolerates a bare-object payload as well as the standard envelope.
|
|
44
|
+
const raw = await this.http.getRaw(url);
|
|
45
|
+
return unwrapLayoutEnvelope(raw);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Persist `layout` via `PUT /api/dashboard/me/layout` and return the
|
|
49
|
+
* server-canonical layout (the server re-stamps {@link DashboardLayout.updatedAt}
|
|
50
|
+
* and may normalise widget order).
|
|
51
|
+
*/
|
|
52
|
+
async saveLayout(layout) {
|
|
53
|
+
const url = `/${this.basePath}/me/layout`;
|
|
54
|
+
// The documented PUT contract is the standard envelope; `put` unwraps it.
|
|
55
|
+
const response = await this.http.put(url, layout);
|
|
56
|
+
if (response.data == null) {
|
|
57
|
+
throw new Error(response.message ?? 'Failed to save dashboard layout');
|
|
58
|
+
}
|
|
59
|
+
return response.data;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Resolve a {@link DashboardLayout} from either the standard
|
|
64
|
+
* {@link ResponseData} envelope or a bare object.
|
|
65
|
+
*/
|
|
66
|
+
function unwrapLayoutEnvelope(raw) {
|
|
67
|
+
const maybeEnvelope = raw;
|
|
68
|
+
// Standard CCMS envelope — the documented shape.
|
|
69
|
+
if (typeof maybeEnvelope.success === 'boolean' && maybeEnvelope.data != null) {
|
|
70
|
+
return maybeEnvelope.data;
|
|
71
|
+
}
|
|
72
|
+
// Bare-object fallback (a deployment that drops the envelope).
|
|
73
|
+
return raw;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=DashboardLayoutService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayoutService.js","sourceRoot":"","sources":["../../../src/services/dashboard/DashboardLayoutService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,MAAM,OAAO,sBAAsB;IAKjC,YAAY,IAAgB,EAAE,MAAsB;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ;YACX,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;gBACrD,CAAC,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAC,iBAAiB,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,YAAY,CAAC;QAC1C,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAEhC,GAAG,CAAC,CAAC;QACP,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAuB;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,YAAY,CAAC;QAC1C,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,GAAoD;IAEpD,MAAM,aAAa,GAAG,GAA6C,CAAC;IACpE,iDAAiD;IACjD,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7E,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,+DAA+D;IAC/D,OAAO,GAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Services
|
|
3
|
+
*
|
|
4
|
+
* Bundle of Dashboard Aggregator services, consistent with the other
|
|
5
|
+
* `*Services` aggregators (`createApplicationCatalogueServices`, …). The TS
|
|
6
|
+
* mirror of the Kotlin `DashboardServices` / Swift `CCMSDashboardServices`.
|
|
7
|
+
*
|
|
8
|
+
* The dashboard API is not microservice-path-prefixed, so the {@link ServiceConfig}
|
|
9
|
+
* is honoured only for an optional `servicePath` override (lets a deployment
|
|
10
|
+
* relocate `api/dashboard`); endpoint overrides do not apply.
|
|
11
|
+
*/
|
|
12
|
+
import type { HttpClient } from '../../core/HttpClient';
|
|
13
|
+
import type { ServiceConfig } from '../types';
|
|
14
|
+
import { DashboardAggregatorService } from './DashboardAggregatorService';
|
|
15
|
+
import { DashboardLayoutService } from './DashboardLayoutService';
|
|
16
|
+
/**
|
|
17
|
+
* Interface for all dashboard aggregator services.
|
|
18
|
+
*/
|
|
19
|
+
export interface DashboardServices {
|
|
20
|
+
/** Cross-domain "my day at CCMS" dashboard aggregator. */
|
|
21
|
+
aggregator: DashboardAggregatorService;
|
|
22
|
+
/**
|
|
23
|
+
* The per-user dashboard *layout* service (widget set / order / settings).
|
|
24
|
+
* Phase 2 addition — additive: existing callers that only used `aggregator`
|
|
25
|
+
* are unaffected.
|
|
26
|
+
*/
|
|
27
|
+
layout: DashboardLayoutService;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create all dashboard aggregator services.
|
|
31
|
+
* Mirrors the other `createXxxServices()` aggregator factories.
|
|
32
|
+
*
|
|
33
|
+
* @param http - HttpClient instance
|
|
34
|
+
* @param config - Optional service configuration (`servicePath` override only)
|
|
35
|
+
* @returns Object containing all dashboard services
|
|
36
|
+
*/
|
|
37
|
+
export declare function createDashboardServices(http: HttpClient, config?: ServiceConfig): DashboardServices;
|
|
38
|
+
//# sourceMappingURL=DashboardServices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardServices.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard/DashboardServices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,UAAU,EAAE,0BAA0B,CAAC;IACvC;;;;OAIG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,MAAM,CAAC,EAAE,aAAa,GACrB,iBAAiB,CAKnB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Services
|
|
3
|
+
*
|
|
4
|
+
* Bundle of Dashboard Aggregator services, consistent with the other
|
|
5
|
+
* `*Services` aggregators (`createApplicationCatalogueServices`, …). The TS
|
|
6
|
+
* mirror of the Kotlin `DashboardServices` / Swift `CCMSDashboardServices`.
|
|
7
|
+
*
|
|
8
|
+
* The dashboard API is not microservice-path-prefixed, so the {@link ServiceConfig}
|
|
9
|
+
* is honoured only for an optional `servicePath` override (lets a deployment
|
|
10
|
+
* relocate `api/dashboard`); endpoint overrides do not apply.
|
|
11
|
+
*/
|
|
12
|
+
import { DashboardAggregatorService } from './DashboardAggregatorService';
|
|
13
|
+
import { DashboardLayoutService } from './DashboardLayoutService';
|
|
14
|
+
/**
|
|
15
|
+
* Create all dashboard aggregator services.
|
|
16
|
+
* Mirrors the other `createXxxServices()` aggregator factories.
|
|
17
|
+
*
|
|
18
|
+
* @param http - HttpClient instance
|
|
19
|
+
* @param config - Optional service configuration (`servicePath` override only)
|
|
20
|
+
* @returns Object containing all dashboard services
|
|
21
|
+
*/
|
|
22
|
+
export function createDashboardServices(http, config) {
|
|
23
|
+
return {
|
|
24
|
+
aggregator: new DashboardAggregatorService(http, config),
|
|
25
|
+
layout: new DashboardLayoutService(http, config),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=DashboardServices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardServices.js","sourceRoot":"","sources":["../../../src/services/dashboard/DashboardServices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgBlE;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAgB,EAChB,MAAsB;IAEtB,OAAO;QACL,UAAU,EAAE,IAAI,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC;QACxD,MAAM,EAAE,IAAI,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Services
|
|
3
|
+
*
|
|
4
|
+
* Services for the cross-domain "my day at CCMS" dashboard aggregator
|
|
5
|
+
* (`CCMS.Api.DashboardAggregator`): the read aggregator and the per-user layout.
|
|
6
|
+
*/
|
|
7
|
+
export { DashboardAggregatorService } from './DashboardAggregatorService';
|
|
8
|
+
export { DashboardLayoutService } from './DashboardLayoutService';
|
|
9
|
+
export { createDashboardServices } from './DashboardServices';
|
|
10
|
+
export type { DashboardServices } from './DashboardServices';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Services
|
|
3
|
+
*
|
|
4
|
+
* Services for the cross-domain "my day at CCMS" dashboard aggregator
|
|
5
|
+
* (`CCMS.Api.DashboardAggregator`): the read aggregator and the per-user layout.
|
|
6
|
+
*/
|
|
7
|
+
export { DashboardAggregatorService } from './DashboardAggregatorService';
|
|
8
|
+
export { DashboardLayoutService } from './DashboardLayoutService';
|
|
9
|
+
export { createDashboardServices } from './DashboardServices';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,cAAc,SAAS,CAAC;AAGxB,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGpE,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,MAAM,CAAC;AAGrB,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAG7B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,MAAM,CAAC;AAGrB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,cAAc,SAAS,CAAC;AAGxB,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGpE,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,MAAM,CAAC;AAGrB,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAG7B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,MAAM,CAAC;AAGrB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,aAAa,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -88,4 +88,6 @@ export * from './knowledgebase';
|
|
|
88
88
|
export * from './analytics';
|
|
89
89
|
// Application Catalogue services (mobile constellation app manifests)
|
|
90
90
|
export * from './applicationcatalogue';
|
|
91
|
+
// Dashboard aggregator services (cross-domain "my day at CCMS" dashboard + layout)
|
|
92
|
+
export * from './dashboard';
|
|
91
93
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8DAA8D;AAC9D,6BAA6B;AAC7B,mCAAmC;AACnC,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC;AAChC,+BAA+B;AAC/B,6BAA6B;AAE7B,gBAAgB;AAChB,cAAc,SAAS,CAAC;AAExB,uBAAuB;AACvB,cAAc,QAAQ,CAAC;AAEvB,8BAA8B;AAC9B,cAAc,QAAQ,CAAC;AAEvB,8BAA8B;AAC9B,cAAc,SAAS,CAAC;AAExB,qDAAqD;AACrD,cAAc,UAAU,CAAC;AAEzB,8BAA8B;AAC9B,cAAc,QAAQ,CAAC;AAEvB,uCAAuC;AACvC,cAAc,iBAAiB,CAAC;AAEhC,kCAAkC;AAClC,cAAc,aAAa,CAAC;AAE5B,gCAAgC;AAChC,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpE,mCAAmC;AACnC,cAAc,aAAa,CAAC;AAE5B,qCAAqC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,+BAA+B;AAC/B,cAAc,UAAU,CAAC;AAEzB,gCAAgC;AAChC,cAAc,WAAW,CAAC;AAE1B,iCAAiC;AACjC,cAAc,YAAY,CAAC;AAE3B,iCAAiC;AACjC,cAAc,YAAY,CAAC;AAE3B,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,4BAA4B;AAC5B,cAAc,MAAM,CAAC;AAErB,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,qCAAqC;AACrC,cAAc,eAAe,CAAC;AAE9B,oCAAoC;AACpC,cAAc,cAAc,CAAC;AAE7B,mCAAmC;AACnC,cAAc,aAAa,CAAC;AAE5B,sCAAsC;AACtC,cAAc,eAAe,CAAC;AAE9B,gCAAgC;AAChC,cAAc,WAAW,CAAC;AAE1B,uCAAuC;AACvC,cAAc,gBAAgB,CAAC;AAE/B,wCAAwC;AACxC,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,UAAU,CAAC;AAEzB,+CAA+C;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAE9B,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAE/B,sCAAsC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,4CAA4C;AAC5C,cAAc,YAAY,CAAC;AAE3B,uDAAuD;AACvD,cAAc,aAAa,CAAC;AAE5B,qEAAqE;AACrE,cAAc,iBAAiB,CAAC;AAEhC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAC;AAElC,cAAc;AACd,cAAc,MAAM,CAAC;AAErB,0BAA0B;AAC1B,cAAc,iBAAiB,CAAC;AAEhC,qBAAqB;AACrB,cAAc,aAAa,CAAC;AAE5B,sEAAsE;AACtE,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8DAA8D;AAC9D,6BAA6B;AAC7B,mCAAmC;AACnC,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC;AAChC,+BAA+B;AAC/B,6BAA6B;AAE7B,gBAAgB;AAChB,cAAc,SAAS,CAAC;AAExB,uBAAuB;AACvB,cAAc,QAAQ,CAAC;AAEvB,8BAA8B;AAC9B,cAAc,QAAQ,CAAC;AAEvB,8BAA8B;AAC9B,cAAc,SAAS,CAAC;AAExB,qDAAqD;AACrD,cAAc,UAAU,CAAC;AAEzB,8BAA8B;AAC9B,cAAc,QAAQ,CAAC;AAEvB,uCAAuC;AACvC,cAAc,iBAAiB,CAAC;AAEhC,kCAAkC;AAClC,cAAc,aAAa,CAAC;AAE5B,gCAAgC;AAChC,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpE,mCAAmC;AACnC,cAAc,aAAa,CAAC;AAE5B,qCAAqC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,+BAA+B;AAC/B,cAAc,UAAU,CAAC;AAEzB,gCAAgC;AAChC,cAAc,WAAW,CAAC;AAE1B,iCAAiC;AACjC,cAAc,YAAY,CAAC;AAE3B,iCAAiC;AACjC,cAAc,YAAY,CAAC;AAE3B,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,4BAA4B;AAC5B,cAAc,MAAM,CAAC;AAErB,kCAAkC;AAClC,cAAc,YAAY,CAAC;AAE3B,qCAAqC;AACrC,cAAc,eAAe,CAAC;AAE9B,oCAAoC;AACpC,cAAc,cAAc,CAAC;AAE7B,mCAAmC;AACnC,cAAc,aAAa,CAAC;AAE5B,sCAAsC;AACtC,cAAc,eAAe,CAAC;AAE9B,gCAAgC;AAChC,cAAc,WAAW,CAAC;AAE1B,uCAAuC;AACvC,cAAc,gBAAgB,CAAC;AAE/B,wCAAwC;AACxC,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,UAAU,CAAC;AAEzB,+CAA+C;AAC/C,cAAc,iBAAiB,CAAC;AAEhC,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAE9B,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAE/B,sCAAsC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,4CAA4C;AAC5C,cAAc,YAAY,CAAC;AAE3B,uDAAuD;AACvD,cAAc,aAAa,CAAC;AAE5B,qEAAqE;AACrE,cAAc,iBAAiB,CAAC;AAEhC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAC;AAElC,cAAc;AACd,cAAc,MAAM,CAAC;AAErB,0BAA0B;AAC1B,cAAc,iBAAiB,CAAC;AAEhC,qBAAqB;AACrB,cAAc,aAAa,CAAC;AAE5B,sEAAsE;AACtE,cAAc,wBAAwB,CAAC;AAEvC,mFAAmF;AACnF,cAAc,aAAa,CAAC"}
|
|
@@ -12,7 +12,7 @@ import { HttpClient } from '../../core/HttpClient';
|
|
|
12
12
|
import { ResponseData } from '../../models/common/ResponseData';
|
|
13
13
|
import { BaseService } from '../base/BaseService';
|
|
14
14
|
import { ServiceConfig } from '../types';
|
|
15
|
-
import { KnowledgeSearchRequest, KnowledgeSearchResponse, KnowledgeChatRequest, KnowledgeChatResponse } from '../../models/analytics/KnowledgeSearch';
|
|
15
|
+
import { KnowledgeSearchRequest, KnowledgeSearchResponse, KnowledgeChatRequest, KnowledgeChatResponse, KnowledgeAvailability } from '../../models/analytics/KnowledgeSearch';
|
|
16
16
|
export declare class KnowledgeBaseQAService extends BaseService {
|
|
17
17
|
/** AIManagement micro-service routes by default under "ai-management". */
|
|
18
18
|
private static readonly DEFAULT_SERVICE_PATH;
|
|
@@ -28,5 +28,11 @@ export declare class KnowledgeBaseQAService extends BaseService {
|
|
|
28
28
|
*/
|
|
29
29
|
chat(request: KnowledgeChatRequest): Promise<KnowledgeChatResponse | null>;
|
|
30
30
|
chatRaw(request: KnowledgeChatRequest): Promise<ResponseData<KnowledgeChatResponse>>;
|
|
31
|
+
/**
|
|
32
|
+
* Effective on/off state of the AI search/chat features (anonymous-capable).
|
|
33
|
+
* The public Resource Centre uses this to show/hide the Ask AI / Chat tabs.
|
|
34
|
+
*/
|
|
35
|
+
getAvailability(): Promise<KnowledgeAvailability | null>;
|
|
36
|
+
getAvailabilityRaw(): Promise<ResponseData<KnowledgeAvailability>>;
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=KnowledgeBaseQAService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowledgeBaseQAService.d.ts","sourceRoot":"","sources":["../../../src/services/knowledgebase/KnowledgeBaseQAService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAsB;gBAE3C,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQ9C,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAKtF,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAI1F;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAKhF,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"KnowledgeBaseQAService.d.ts","sourceRoot":"","sources":["../../../src/services/knowledgebase/KnowledgeBaseQAService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAsB;gBAE3C,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQ9C,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAKtF,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAI1F;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAKhF,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAIpF;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAK9D,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;CAGnE"}
|
|
@@ -37,6 +37,17 @@ export class KnowledgeBaseQAService extends BaseService {
|
|
|
37
37
|
chatRaw(request) {
|
|
38
38
|
return this.http.post(this.buildUrl('chat'), request);
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Effective on/off state of the AI search/chat features (anonymous-capable).
|
|
42
|
+
* The public Resource Centre uses this to show/hide the Ask AI / Chat tabs.
|
|
43
|
+
*/
|
|
44
|
+
async getAvailability() {
|
|
45
|
+
const response = await this.getAvailabilityRaw();
|
|
46
|
+
return response.data ?? null;
|
|
47
|
+
}
|
|
48
|
+
getAvailabilityRaw() {
|
|
49
|
+
return this.http.get(this.buildUrl('availability'));
|
|
50
|
+
}
|
|
40
51
|
}
|
|
41
52
|
/** AIManagement micro-service routes by default under "ai-management". */
|
|
42
53
|
KnowledgeBaseQAService.DEFAULT_SERVICE_PATH = 'ai-management';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowledgeBaseQAService.js","sourceRoot":"","sources":["../../../src/services/knowledgebase/KnowledgeBaseQAService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"KnowledgeBaseQAService.js","sourceRoot":"","sources":["../../../src/services/knowledgebase/KnowledgeBaseQAService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUlD,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAKrD,YAAY,IAAgB,EAAE,MAAsB;QAClD,KAAK,CAAC,IAAI,EAAE;YACV,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,sBAAsB,CAAC,oBAAoB;YAC/E,QAAQ,EAAE,sBAAsB,CAAC,SAAS;YAC1C,SAAS,EAAE,MAAM,EAAE,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA+B;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,OAA+B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,CAAC;;AA/CD,0EAA0E;AAClD,2CAAoB,GAAG,eAAe,CAAC;AACvC,gCAAS,GAAG,kBAAkB,CAAC"}
|
|
@@ -90,6 +90,23 @@ export declare class MemberService extends CrudService<Member, Member, Partial<M
|
|
|
90
90
|
* @returns ResponseData with array of members
|
|
91
91
|
*/
|
|
92
92
|
getBirthdaysRaw(): Promise<ResponseData<Member[]>>;
|
|
93
|
+
/**
|
|
94
|
+
* Search members by a single term across first name, surname, middle name, email,
|
|
95
|
+
* cellphone, alternate contact, member ID, user ID and member code (case-insensitive
|
|
96
|
+
* substring match).
|
|
97
|
+
* GET /api/members/search?term={term}&limit={limit}
|
|
98
|
+
* @param term - Search term (required)
|
|
99
|
+
* @param limit - Max results (default 50, max 200)
|
|
100
|
+
* @returns Array of matching members
|
|
101
|
+
*/
|
|
102
|
+
searchMembers(term: string, limit?: number): Promise<Member[]>;
|
|
103
|
+
/**
|
|
104
|
+
* Search members (raw)
|
|
105
|
+
* @param term - Search term
|
|
106
|
+
* @param limit - Max results
|
|
107
|
+
* @returns ResponseData with array of matching members
|
|
108
|
+
*/
|
|
109
|
+
searchMembersRaw(term: string, limit?: number): Promise<ResponseData<Member[]>>;
|
|
93
110
|
/**
|
|
94
111
|
* Update member active status
|
|
95
112
|
* PATCH /api/members/{id}/status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberService.d.ts","sourceRoot":"","sources":["../../../src/services/members/MemberService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,MAAM,EACN,eAAe,EACf,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAC5C,MAAM,EACN,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,CAChB;IACC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAiB;gBAEtC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAUpD,4DAA4D;IACtD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAOpE,4DAA4D;IACtD,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IASzF,oEAAoE;IAC9D,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAS/G,oEAAoE;IAC9D,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E;;;;;;;;OAQG;IACG,QAAQ,CACZ,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAW,EACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpB;;;;;;;OAOG;IACH,WAAW,CACT,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAW,EACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAgBlC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlD;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAM7D;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvC;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MemberService.d.ts","sourceRoot":"","sources":["../../../src/services/members/MemberService.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,33 @@ export class MemberService extends CrudService {
|
|
|
119
119
|
const url = this.buildUrl(endpoint);
|
|
120
120
|
return this.http.get(url);
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Search members by a single term across first name, surname, middle name, email,
|
|
124
|
+
* cellphone, alternate contact, member ID, user ID and member code (case-insensitive
|
|
125
|
+
* substring match).
|
|
126
|
+
* GET /api/members/search?term={term}&limit={limit}
|
|
127
|
+
* @param term - Search term (required)
|
|
128
|
+
* @param limit - Max results (default 50, max 200)
|
|
129
|
+
* @returns Array of matching members
|
|
130
|
+
*/
|
|
131
|
+
async searchMembers(term, limit = 50) {
|
|
132
|
+
const response = await this.searchMembersRaw(term, limit);
|
|
133
|
+
return response.data ?? [];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Search members (raw)
|
|
137
|
+
* @param term - Search term
|
|
138
|
+
* @param limit - Max results
|
|
139
|
+
* @returns ResponseData with array of matching members
|
|
140
|
+
*/
|
|
141
|
+
searchMembersRaw(term, limit = 50) {
|
|
142
|
+
const params = new URLSearchParams();
|
|
143
|
+
params.append('term', term);
|
|
144
|
+
params.append('limit', limit.toString());
|
|
145
|
+
const endpoint = this.getEndpoint('searchMembers', `search?${params.toString()}`);
|
|
146
|
+
const url = this.buildUrl(endpoint);
|
|
147
|
+
return this.http.get(url);
|
|
148
|
+
}
|
|
122
149
|
// ==================== CUSTOM UPDATE METHODS ====================
|
|
123
150
|
/**
|
|
124
151
|
* Update member active status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberService.js","sourceRoot":"","sources":["../../../src/services/members/MemberService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MemberService.js","sourceRoot":"","sources":["../../../src/services/members/MemberService.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,13 @@ export declare class PublicCoursesService extends BaseService {
|
|
|
40
40
|
/** Enriched single course by id — sessions + prereqs metadata inline. */
|
|
41
41
|
getViewById(courseId: number): Promise<CourseModelView | null>;
|
|
42
42
|
getViewByIdRaw(courseId: number): Promise<ResponseData<CourseModelView>>;
|
|
43
|
+
/**
|
|
44
|
+
* Enriched single course by slug — same payload as {@link getViewById}
|
|
45
|
+
* (sessions + required/recommended/unmet prerequisites + viewer progress +
|
|
46
|
+
* canStart), resolved from the URL slug.
|
|
47
|
+
*/
|
|
48
|
+
getViewBySlug(slug: string): Promise<CourseModelView | null>;
|
|
49
|
+
getViewBySlugRaw(slug: string): Promise<ResponseData<CourseModelView>>;
|
|
43
50
|
}
|
|
44
51
|
/**
|
|
45
52
|
* Anonymous-safe categories with MinistryName, StatusName, course counts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicCoursesService.d.ts","sourceRoot":"","sources":["../../../src/services/resources/PublicCoursesService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAEnG,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBAE7C,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQ9C,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAKvD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKrD;;;;OAIG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAIlF,4FAA4F;IACtF,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjF,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAI5F;;;;OAIG;IACG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI/D,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;IAK1E,yEAAyE;IACnE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAIpE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PublicCoursesService.d.ts","sourceRoot":"","sources":["../../../src/services/resources/PublicCoursesService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAEnG,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBAE7C,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQ9C,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAKvD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKrD;;;;OAIG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAIlF,4FAA4F;IACtF,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjF,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAI5F;;;;OAIG;IACG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI/D,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;IAK1E,yEAAyE;IACnE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAIpE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAIxE;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAIlE,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;CAGvE;AAED;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,WAAW;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA2B;gBAEhD,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa;IAQ9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAIvE,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC;CAInF"}
|