@persei/perseed-api 5.0.20 → 5.0.22
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/client.cjs +773 -37
- package/dist/client.cjs.map +1 -1
- package/dist/client.mjs +773 -37
- package/dist/client.mjs.map +1 -1
- package/dist/{lib-CDM5aEJG.cjs → dates.helper-CDM5aEJG.cjs} +1 -1
- package/dist/dates.helper-CDM5aEJG.cjs.map +1 -0
- package/dist/{lib-XRCJ_UAQ.js → dates.helper-XRCJ_UAQ.js} +1 -1
- package/dist/dates.helper-XRCJ_UAQ.js.map +1 -0
- package/dist/ecosystem-action-system.cjs +124 -34
- package/dist/ecosystem-action-system.cjs.map +1 -1
- package/dist/ecosystem-action-system.mjs +124 -34
- package/dist/ecosystem-action-system.mjs.map +1 -1
- package/dist/ecosystem-container-widget.cjs +6 -6
- package/dist/ecosystem-container-widget.cjs.map +1 -1
- package/dist/ecosystem-container-widget.mjs +1 -1
- package/dist/global-dates.cjs +9 -3
- package/dist/global-dates.cjs.map +1 -1
- package/dist/global-dates.mjs +7 -1
- package/dist/global-dates.mjs.map +1 -1
- package/dist/lib/src/generated/client.d.ts +5815 -839
- package/dist/lib/src/generated/client.d.ts.map +1 -1
- package/dist/src/Services/ProcessLogService.d.ts +1 -1
- package/dist/src/Services/ProcessLogService.d.ts.map +1 -1
- package/dist/src/Services/QueryService.d.ts +24 -1
- package/dist/src/Services/QueryService.d.ts.map +1 -1
- package/dist/src/Services/RedisQueueService.d.ts.map +1 -1
- package/dist/src/Services/TriggerService.d.ts.map +1 -1
- package/dist/src/config/apiPublicKey.d.ts +19 -4
- package/dist/src/config/apiPublicKey.d.ts.map +1 -1
- package/dist/src/config/apiPublicKey.test.d.ts +2 -0
- package/dist/src/config/apiPublicKey.test.d.ts.map +1 -0
- package/dist/src/constants/SeedPrivilege.d.ts +1 -0
- package/dist/src/constants/SeedPrivilege.d.ts.map +1 -1
- package/dist/src/controllers/IntrospectionController.d.ts.map +1 -1
- package/dist/src/controllers/UserController.d.ts.map +1 -1
- package/dist/src/models/ecosystem/NotificationConfiguration.d.ts +1 -1
- package/dist/src/models/ecosystem/NotificationConfiguration.d.ts.map +1 -1
- package/dist/src/models/ecosystem/User.d.ts +17 -0
- package/dist/src/models/ecosystem/User.d.ts.map +1 -1
- package/dist/src/models/ecosystem/User.getProjectUser.test.d.ts +2 -0
- package/dist/src/models/ecosystem/User.getProjectUser.test.d.ts.map +1 -0
- package/dist/src/models/perseed/PerseedEcosystem.d.ts +2 -0
- package/dist/src/models/perseed/PerseedEcosystem.d.ts.map +1 -1
- package/dist/src/schemas/api_action/ApiActionTypes.d.ts +11 -0
- package/dist/src/schemas/api_action/ApiActionTypes.d.ts.map +1 -1
- package/dist/src/schemas/container_widget/create_widget_payload.schema.json +1 -1
- package/dist/src/schemas/container_widget/update_widget_payload.schema.json +1 -1
- package/dist/src/schemas/container_widget/widgetTypes/PatientListProps.d.ts +2 -1
- package/dist/src/schemas/container_widget/widgetTypes/PatientListProps.d.ts.map +1 -1
- package/dist/src/schemas/index.d.ts +1 -0
- package/dist/src/schemas/index.d.ts.map +1 -1
- package/dist/src/schemas/project_user/index.d.ts +2 -0
- package/dist/src/schemas/project_user/index.d.ts.map +1 -0
- package/dist/src/schemas/project_user/types.d.ts +44 -0
- package/dist/src/schemas/project_user/types.d.ts.map +1 -0
- package/dist/src/test/e2e-permissions.d.ts +32 -3
- package/dist/src/test/e2e-permissions.d.ts.map +1 -1
- package/dist/src/test/test-helpers.d.ts +12 -0
- package/dist/src/test/test-helpers.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.controller/manual-trigger.controller.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/action-system.helper.d.ts +27 -5
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/action-system.helper.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/index.d.ts +1 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/index.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/manual-trigger.helper.d.ts +13 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/manual-trigger.helper.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/manual-trigger.helper.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.helper/manual-trigger.helper.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.model.d.ts +7 -3
- package/dist/src/v2/modules/ecosystem/action-system/action-system.model.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.model.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.model.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.schema.d.ts +234 -58
- package/dist/src/v2/modules/ecosystem/action-system/action-system.schema.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/automatic-trigger.service.d.ts +14 -6
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/automatic-trigger.service.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/manual-trigger-engine.service.d.ts +6 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/manual-trigger-engine.service.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/manual-trigger.service.d.ts +60 -10
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/manual-trigger.service.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/trigger-engine.service.d.ts +6 -0
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/trigger-engine.service.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.d.ts +12 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.e2e.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.e2e.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.controller.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.helper.d.ts +55 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.helper.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.helper.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.helper.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.model.d.ts +61 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.model.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.model.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.model.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.schema.d.ts +134 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.schema.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.service.d.ts +73 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.service.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.service.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert/alert.service.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert/index.d.ts +7 -0
- package/dist/src/v2/modules/ecosystem/alert/index.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.d.ts +6 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.e2e.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.e2e.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.controller.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.helper.d.ts +14 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.helper.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.helper.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.helper.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.model.d.ts +18 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.model.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.schema.d.ts +29 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.schema.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.service.d.ts +38 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.service.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.service.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/alert-type/alert-type.service.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/alert-type/index.d.ts +6 -0
- package/dist/src/v2/modules/ecosystem/alert-type/index.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/process-log/index.d.ts +3 -0
- package/dist/src/v2/modules/ecosystem/process-log/index.d.ts.map +1 -0
- package/dist/src/{models/ecosystem/ProcessLog.d.ts → v2/modules/ecosystem/process-log/process-log.model.d.ts} +5 -5
- package/dist/src/v2/modules/ecosystem/process-log/process-log.model.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.model.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.model.test.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.d.ts +20 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.e2e.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.e2e.d.ts.map +1 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.test.d.ts +2 -0
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.test.d.ts.map +1 -0
- package/dist/src/v2/modules/global/auth-token/auth-token.controller.d.ts.map +1 -1
- package/dist/src/v2/modules/global/dates/dates.helper.d.ts.map +1 -1
- package/dist/src/v2/modules/global/dates/dates.schema.d.ts +39 -0
- package/dist/src/v2/modules/global/dates/dates.schema.d.ts.map +1 -1
- package/dist/src/v2/modules/global/e2e-operation/e2e-operation.controller.d.ts.map +1 -1
- package/dist/src/v2/modules/global/e2e-operation/e2e-operation.service.d.ts.map +1 -1
- package/dist/src/v2/modules/global/permissions/index.d.ts +2 -0
- package/dist/src/v2/modules/global/permissions/index.d.ts.map +1 -0
- package/dist/src/v2/modules/global/permissions/permissions.helper.d.ts +32 -0
- package/dist/src/v2/modules/global/permissions/permissions.helper.d.ts.map +1 -0
- package/dist/src/v2/modules/global/permissions/permissions.helper.test.d.ts +2 -0
- package/dist/src/v2/modules/global/permissions/permissions.helper.test.d.ts.map +1 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/alert/index.d.ts +3 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/alert/index.d.ts.map +1 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/alert-type/index.d.ts +3 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/alert-type/index.d.ts.map +1 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/alert/index.d.ts +3 -0
- package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/alert/index.d.ts.map +1 -0
- package/dist/v1/perseed-api.cjs +2 -0
- package/dist/v1/perseed-api.cjs.map +1 -1
- package/dist/v1/perseed-api.mjs +2 -0
- package/dist/v1/perseed-api.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/lib-CDM5aEJG.cjs.map +0 -1
- package/dist/lib-XRCJ_UAQ.js.map +0 -1
- package/dist/src/models/ecosystem/ProcessLog.d.ts.map +0 -1
- package/dist/src/models/ecosystem/ProcessLog.test.d.ts +0 -2
- package/dist/src/models/ecosystem/ProcessLog.test.d.ts.map +0 -1
- package/dist/src/test/global-setup.d.ts +0 -2
- package/dist/src/test/global-setup.d.ts.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Type, Static } from 'typebox';
|
|
2
|
+
export declare const AlertStatus: {
|
|
3
|
+
readonly ACTIVE: "active";
|
|
4
|
+
readonly RESOLVED: "resolved";
|
|
5
|
+
};
|
|
6
|
+
export declare const alertStatusSchema: Type.TEnum<("active" | "resolved")[]>;
|
|
7
|
+
export type AlertStatus = Static<typeof alertStatusSchema>;
|
|
8
|
+
export declare const AlertSeverity: {
|
|
9
|
+
readonly INFO: "info";
|
|
10
|
+
readonly LOW: "low";
|
|
11
|
+
readonly MEDIUM: "medium";
|
|
12
|
+
readonly HIGH: "high";
|
|
13
|
+
readonly CRITICAL: "critical";
|
|
14
|
+
};
|
|
15
|
+
export declare const alertSeveritySchema: Type.TEnum<("info" | "low" | "medium" | "high" | "critical")[]>;
|
|
16
|
+
export type AlertSeverity = Static<typeof alertSeveritySchema>;
|
|
17
|
+
export declare const AlertEmitterType: {
|
|
18
|
+
readonly TRIGGER: "trigger";
|
|
19
|
+
readonly API: "api";
|
|
20
|
+
readonly WEBHOOK: "webhook";
|
|
21
|
+
};
|
|
22
|
+
export declare const alertEmitterTypeSchema: Type.TEnum<("trigger" | "api" | "webhook")[]>;
|
|
23
|
+
export type AlertEmitterType = Static<typeof alertEmitterTypeSchema>;
|
|
24
|
+
export declare const alertEmitterSchema: Type.TObject<{
|
|
25
|
+
type: Type.TEnum<("trigger" | "api" | "webhook")[]>;
|
|
26
|
+
id: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
27
|
+
name: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
28
|
+
reference: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
29
|
+
}>;
|
|
30
|
+
export type AlertEmitterData = Static<typeof alertEmitterSchema>;
|
|
31
|
+
export declare const alertEntityRefSchema: Type.TObject<{
|
|
32
|
+
type: Type.TString;
|
|
33
|
+
value: Type.TString;
|
|
34
|
+
}>;
|
|
35
|
+
export type AlertEntityRefData = Static<typeof alertEntityRefSchema>;
|
|
36
|
+
export declare const alertSchema: Type.TObject<{
|
|
37
|
+
id: Type.TNumber;
|
|
38
|
+
project_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
39
|
+
alert_type_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
40
|
+
user_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
41
|
+
patient_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
42
|
+
severity: Type.TOptional<Type.TUnion<[Type.TEnum<("info" | "low" | "medium" | "high" | "critical")[]>, Type.TNull]>>;
|
|
43
|
+
status: Type.TOptional<Type.TEnum<("active" | "resolved")[]>>;
|
|
44
|
+
title: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
45
|
+
summary: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
46
|
+
emitter: Type.TObject<{
|
|
47
|
+
type: Type.TEnum<("trigger" | "api" | "webhook")[]>;
|
|
48
|
+
id: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
49
|
+
name: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
50
|
+
reference: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
51
|
+
}>;
|
|
52
|
+
recipients: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
53
|
+
type: Type.TString;
|
|
54
|
+
value: Type.TString;
|
|
55
|
+
}>>, Type.TNull]>>;
|
|
56
|
+
related_entities: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
57
|
+
type: Type.TString;
|
|
58
|
+
value: Type.TString;
|
|
59
|
+
}>>, Type.TNull]>>;
|
|
60
|
+
payload: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
61
|
+
metadata: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
62
|
+
dedup_key: Type.TOptional<Type.TString>;
|
|
63
|
+
triggered_at: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
64
|
+
viewed_at: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
65
|
+
viewed_by: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
66
|
+
resolved_at: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
67
|
+
resolved_by: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
68
|
+
resolution_note: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
69
|
+
created_user: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
70
|
+
created_at: Type.TOptional<Type.TString>;
|
|
71
|
+
mod_time: Type.TOptional<Type.TString>;
|
|
72
|
+
}>;
|
|
73
|
+
export type AlertData = Static<typeof alertSchema>;
|
|
74
|
+
export declare const createAlertSchema: Type.TObject<{
|
|
75
|
+
alert_type_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
76
|
+
user_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
77
|
+
patient_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
78
|
+
severity: Type.TOptional<Type.TUnion<[Type.TEnum<("info" | "low" | "medium" | "high" | "critical")[]>, Type.TNull]>>;
|
|
79
|
+
title: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
80
|
+
summary: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
81
|
+
emitter: Type.TObject<{
|
|
82
|
+
type: Type.TEnum<("trigger" | "api" | "webhook")[]>;
|
|
83
|
+
id: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
84
|
+
name: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
85
|
+
reference: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
86
|
+
}>;
|
|
87
|
+
recipients: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
88
|
+
type: Type.TString;
|
|
89
|
+
value: Type.TString;
|
|
90
|
+
}>>, Type.TNull]>>;
|
|
91
|
+
related_entities: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
92
|
+
type: Type.TString;
|
|
93
|
+
value: Type.TString;
|
|
94
|
+
}>>, Type.TNull]>>;
|
|
95
|
+
payload: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
96
|
+
metadata: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
97
|
+
dedup_key: Type.TOptional<Type.TString>;
|
|
98
|
+
triggered_at: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
99
|
+
}>;
|
|
100
|
+
export type CreateAlertData = Static<typeof createAlertSchema>;
|
|
101
|
+
export declare const updateAlertSchema: Type.TObject<{
|
|
102
|
+
patient_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
103
|
+
user_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
104
|
+
title: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
105
|
+
summary: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
106
|
+
alert_type_id: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
107
|
+
severity: Type.TOptional<Type.TUnion<[Type.TEnum<("info" | "low" | "medium" | "high" | "critical")[]>, Type.TNull]>>;
|
|
108
|
+
recipients: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
109
|
+
type: Type.TString;
|
|
110
|
+
value: Type.TString;
|
|
111
|
+
}>>, Type.TNull]>>;
|
|
112
|
+
related_entities: Type.TOptional<Type.TUnion<[Type.TArray<Type.TObject<{
|
|
113
|
+
type: Type.TString;
|
|
114
|
+
value: Type.TString;
|
|
115
|
+
}>>, Type.TNull]>>;
|
|
116
|
+
payload: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
117
|
+
metadata: Type.TOptional<Type.TUnion<[Type.TRecord<"^.*$", Type.TUnknown>, Type.TNull]>>;
|
|
118
|
+
dedup_key: Type.TOptional<Type.TString>;
|
|
119
|
+
triggered_at: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
120
|
+
}>;
|
|
121
|
+
export type UpdateAlertData = Static<typeof updateAlertSchema>;
|
|
122
|
+
export declare const resolveAlertSchema: Type.TObject<{
|
|
123
|
+
resolution_note: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
124
|
+
}>;
|
|
125
|
+
export type ResolveAlertData = Static<typeof resolveAlertSchema>;
|
|
126
|
+
export declare const listAlertQuerySchema: Type.TObject<{
|
|
127
|
+
status: Type.TOptional<Type.TEnum<("active" | "resolved")[]>>;
|
|
128
|
+
severity: Type.TOptional<Type.TEnum<("info" | "low" | "medium" | "high" | "critical")[]>>;
|
|
129
|
+
user_id: Type.TOptional<Type.TNumber>;
|
|
130
|
+
patient_id: Type.TOptional<Type.TNumber>;
|
|
131
|
+
alert_type_id: Type.TOptional<Type.TNumber>;
|
|
132
|
+
}>;
|
|
133
|
+
export type ListAlertQuery = Static<typeof listAlertQuerySchema>;
|
|
134
|
+
//# sourceMappingURL=alert.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.schema.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert/alert.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAWtC,eAAO,MAAM,WAAW;;;CAGd,CAAA;AACV,eAAO,MAAM,iBAAiB,uCAG5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE1D,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAA;AACV,eAAO,MAAM,mBAAmB,iEAG9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAM9D,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AACV,eAAO,MAAM,sBAAsB,+CAGjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAIpE,eAAO,MAAM,kBAAkB;;;;;EAoB9B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAUhE,eAAO,MAAM,oBAAoB;;;EAUhC,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAIpE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2GvB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAA;AAQlD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EAqB7B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAQ9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;EAI5B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAO9D,eAAO,MAAM,kBAAkB;;EAO9B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAIhE,eAAO,MAAM,oBAAoB;;;;;;EAShC,CAAA;AACD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { default as RequestContext } from '../../../../models/request/RequestContext';
|
|
2
|
+
import { PaginatedQuery } from '../../global/pagination';
|
|
3
|
+
import { AlertReadScope } from './alert.helper';
|
|
4
|
+
import { Alert } from './alert.model';
|
|
5
|
+
import { CreateAlertData, ListAlertQuery, UpdateAlertData } from './alert.schema';
|
|
6
|
+
/**
|
|
7
|
+
* Lists the alerts the request reaches, newest first, narrowed by the optional filters.
|
|
8
|
+
*
|
|
9
|
+
* `scope` is the caller's read reach (see `resolveAlertReadScope`): `null` for everything in reach,
|
|
10
|
+
* otherwise only the alerts the caller is party to.
|
|
11
|
+
*/
|
|
12
|
+
declare function listAlerts(ctx: RequestContext, pagination: PaginatedQuery, filters: ListAlertQuery, scope: AlertReadScope | null): Promise<import('objection').Page<Alert>>;
|
|
13
|
+
/**
|
|
14
|
+
* Reads one alert the request reaches, narrowed by `scope`.
|
|
15
|
+
*
|
|
16
|
+
* An alert outside the caller's scope comes back `undefined`, exactly like one that does not exist,
|
|
17
|
+
* and the controller turns both into the same 404. Deliberate: a 403 here would confirm to anyone
|
|
18
|
+
* that an alert exists for that id, which on clinical data is itself the leak.
|
|
19
|
+
*/
|
|
20
|
+
declare function getAlertById(ctx: RequestContext, id: number, scope: AlertReadScope | null): Promise<Alert | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Creates an alert, idempotent by `dedup_key`: a second create carrying a key that is already open
|
|
23
|
+
* in the same scope — the project, or the alerts belonging to no project — answers with the stored
|
|
24
|
+
* alert instead of raising a duplicate. That is what lets an
|
|
25
|
+
* emitter retry — a webhook redelivery, a trigger re-firing on the same event — without the same
|
|
26
|
+
* incident being raised twice.
|
|
27
|
+
*
|
|
28
|
+
* `open` is the operative word: the lookup is narrowed to `status = 'active'`, so **a resolved alert
|
|
29
|
+
* does not shadow its key**. A condition that is dealt with and happens again raises a new alert,
|
|
30
|
+
* which is what an alert is for; without the narrowing the key stayed burnt for good and the
|
|
31
|
+
* recurrence came back as a 200 carrying the alert that was closed months ago — an incident lost in
|
|
32
|
+
* silence, and indistinguishable to the caller from a successful create.
|
|
33
|
+
*
|
|
34
|
+
* The cost is that a retry arriving *after* the alert was resolved raises a second one. That is the
|
|
35
|
+
* right way round: a duplicate alert is visible and can be resolved, a swallowed recurrence is
|
|
36
|
+
* neither.
|
|
37
|
+
*
|
|
38
|
+
* The check runs in code, not as a UNIQUE index: the index would have to span
|
|
39
|
+
* `(project_id, dedup_key)`, and `project_id` is nullable, so MySQL treats each NULL as distinct
|
|
40
|
+
* and the constraint would not hold for the ecosystem-wide alerts the column is nullable for.
|
|
41
|
+
*
|
|
42
|
+
* Check and insert share one transaction, and the check locks with `FOR UPDATE`: without the lock
|
|
43
|
+
* two concurrent creates carrying the same key both read "absent" and both insert. The lock is
|
|
44
|
+
* taken over `idx_alert_dedup`, so it is a range lock on the key rather than a table scan. Note
|
|
45
|
+
* this bounds the race, it does not remove it the way a unique index would: the DB no longer
|
|
46
|
+
* backstops the invariant, so a write reaching the table by any path other than this service can
|
|
47
|
+
* still duplicate a key.
|
|
48
|
+
*
|
|
49
|
+
* A client that sends no `dedup_key` gets a generated UUID — unique by construction, so the alert
|
|
50
|
+
* is always stored, and the column always carries a usable value.
|
|
51
|
+
*
|
|
52
|
+
* A `patient_id` without a project is rejected with a 400 (see `assertPatientHasProject`).
|
|
53
|
+
*/
|
|
54
|
+
declare function createAlert(ctx: RequestContext, data: CreateAlertData): Promise<Alert>;
|
|
55
|
+
declare function updateAlert(ctx: RequestContext, id: number, data: UpdateAlertData): Promise<Alert>;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves an alert: the single transition of its lifecycle, writing `status`, `resolved_at` and
|
|
58
|
+
* `resolved_by` together so the three never disagree — which is why it is an endpoint of its own
|
|
59
|
+
* and not a `status` field on the update payload.
|
|
60
|
+
*
|
|
61
|
+
* Resolving an already-resolved alert answers with it unchanged rather than failing: the caller
|
|
62
|
+
* asked for a state that already holds, and re-stamping would overwrite who closed it and when.
|
|
63
|
+
*/
|
|
64
|
+
declare function resolveAlert(ctx: RequestContext, id: number, resolutionNote?: string | null): Promise<Alert>;
|
|
65
|
+
export declare const AlertService: {
|
|
66
|
+
list: typeof listAlerts;
|
|
67
|
+
getById: typeof getAlertById;
|
|
68
|
+
create: typeof createAlert;
|
|
69
|
+
update: typeof updateAlert;
|
|
70
|
+
resolve: typeof resolveAlert;
|
|
71
|
+
};
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=alert.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert/alert.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AAKnE,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAA;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAe,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAyC7G;;;;;GAKG;AACH,iBAAe,UAAU,CACvB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,cAAc,GAAG,IAAI,4CAe7B;AAED;;;;;;GAMG;AACH,iBAAe,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,8BAMxF;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAe,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,kBAkBpE;AA0FD,iBAAe,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,kBAmBhF;AAED;;;;;;;GAOG;AACH,iBAAe,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,kBAyB1F;AAED,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.service.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert/alert.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AlertService } from './alert.service';
|
|
2
|
+
export { Alert } from './alert.model';
|
|
3
|
+
export { AlertController } from './alert.controller';
|
|
4
|
+
export { requireAlertsManagement } from './alert.helper';
|
|
5
|
+
export { AlertStatus, AlertSeverity, AlertEmitterType } from './alert.schema';
|
|
6
|
+
export type { AlertData, AlertEmitterData, AlertEntityRefData, CreateAlertData, UpdateAlertData } from './alert.schema';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FastifyPluginAsyncTypebox } from '@fastify/type-provider-typebox';
|
|
2
|
+
export declare const alertTypeRouter: FastifyPluginAsyncTypebox;
|
|
3
|
+
export declare const AlertTypeController: {
|
|
4
|
+
alertTypeRouter: FastifyPluginAsyncTypebox;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=alert-type.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.controller.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAmB1E,eAAO,MAAM,eAAe,EAAE,yBAsH7B,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAE/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.controller.e2e.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.controller.e2e.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.controller.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.controller.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission preHandler of the write endpoints of the alert type catalog.
|
|
3
|
+
*
|
|
4
|
+
* It checks the administrator role rather than the `alerts_management` privilege the alert
|
|
5
|
+
* endpoints use, and the reason is structural: seed privileges are granted per profiling, and a
|
|
6
|
+
* profiling belongs to a project (`user_profiling.project_id`). This catalog has no project — it is
|
|
7
|
+
* ecosystem-wide — so there is no profiling row to look up and `User.checkPermission` would answer
|
|
8
|
+
* `false` for everyone, locking the endpoints for good.
|
|
9
|
+
*
|
|
10
|
+
* Reads carry no guard of their own: the catalog is a list of names, every alert reader needs it to
|
|
11
|
+
* render an alert, and it carries no clinical data.
|
|
12
|
+
*/
|
|
13
|
+
export declare const requireAlertTypeAdmin: (req: import('fastify').FastifyRequest) => Promise<void>;
|
|
14
|
+
//# sourceMappingURL=alert-type.helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.helper.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,0DAEjC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.helper.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.helper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as Objection } from 'objection';
|
|
2
|
+
import { default as BaseModel } from '../../../../models/BaseModel';
|
|
3
|
+
import { default as RequestContext } from '../../../../models/request/RequestContext';
|
|
4
|
+
import { TypedQueryBuilder } from '../../global/objection';
|
|
5
|
+
import { AlertTypeData } from './alert-type.schema';
|
|
6
|
+
export declare class AlertType extends BaseModel implements AlertTypeData {
|
|
7
|
+
name: string;
|
|
8
|
+
description?: string | null;
|
|
9
|
+
created_user?: number | null;
|
|
10
|
+
created_at?: string;
|
|
11
|
+
mod_time?: string;
|
|
12
|
+
static tableName: string;
|
|
13
|
+
static jsonSchema: Objection.JSONSchema;
|
|
14
|
+
static QueryBuilder: typeof Objection.QueryBuilder;
|
|
15
|
+
static query(): TypedQueryBuilder<AlertType, typeof AlertType, never>;
|
|
16
|
+
static getModel(ctx: RequestContext): typeof AlertType;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=alert-type.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.model.ts"],"names":[],"mappings":"AAAA,OAAO,SAA2B,MAAM,WAAW,CAAA;AACnD,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAC5C,OAAO,cAAc,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAG9D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMzE,qBAAa,SAAU,SAAQ,SAAU,YAAW,aAAa;IAC/D,IAAI,EAAG,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,SAAS,SAAe;IAK/B,MAAM,CAAC,UAAU,EAA+C,SAAS,CAAC,UAAU,CAAA;IAEpF,MAAM,CAAC,YAAY,gCAAyC;IAE5D,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc;CAGpC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Type, Static } from 'typebox';
|
|
2
|
+
export declare const alertTypeSchema: Type.TObject<{
|
|
3
|
+
id: Type.TNumber;
|
|
4
|
+
name: Type.TString;
|
|
5
|
+
description: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
6
|
+
created_user: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
|
|
7
|
+
created_at: Type.TOptional<Type.TString>;
|
|
8
|
+
mod_time: Type.TOptional<Type.TString>;
|
|
9
|
+
}>;
|
|
10
|
+
export type AlertTypeData = Static<typeof alertTypeSchema>;
|
|
11
|
+
export declare const createAlertTypeSchema: Type.TObject<{
|
|
12
|
+
name: Type.TString;
|
|
13
|
+
description: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
14
|
+
}>;
|
|
15
|
+
export type CreateAlertTypeData = Static<typeof createAlertTypeSchema>;
|
|
16
|
+
export declare const updateAlertTypeSchema: Type.TObject<{
|
|
17
|
+
name: Type.TOptional<Type.TString>;
|
|
18
|
+
description: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
19
|
+
}>;
|
|
20
|
+
export type UpdateAlertTypeData = Static<typeof updateAlertTypeSchema>;
|
|
21
|
+
export declare const alertTypeWithIdParamsSchema: Type.TIntersect<[Type.TObject<{
|
|
22
|
+
ecosystemName: Type.TString;
|
|
23
|
+
}>, Type.TObject<{
|
|
24
|
+
id: Type.TNumber;
|
|
25
|
+
}>]>;
|
|
26
|
+
export declare const alertTypeSuccessResponseSchema: Type.TObject<{
|
|
27
|
+
success: Type.TBoolean;
|
|
28
|
+
}>;
|
|
29
|
+
//# sourceMappingURL=alert-type.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.schema.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAWtC,eAAO,MAAM,eAAe;;;;;;;EAc3B,CAAA;AACD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAA;AAM1D,eAAO,MAAM,qBAAqB;;;EAMjC,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAGtE,eAAO,MAAM,qBAAqB;;;EAIhC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEtE,eAAO,MAAM,2BAA2B;;;;IAGvC,CAAA;AAED,eAAO,MAAM,8BAA8B;;EAG1C,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { default as RequestContext } from '../../../../models/request/RequestContext';
|
|
2
|
+
import { PaginatedQuery } from '../../global/pagination';
|
|
3
|
+
import { AlertType } from './alert-type.model';
|
|
4
|
+
import { CreateAlertTypeData, UpdateAlertTypeData } from './alert-type.schema';
|
|
5
|
+
/**
|
|
6
|
+
* Lists the alert types of the ecosystem, by name.
|
|
7
|
+
*
|
|
8
|
+
* No project scoping anywhere in this service, unlike `alert.service.ts`: the catalog is
|
|
9
|
+
* ecosystem-wide by design, so every row is in scope for every caller of the ecosystem.
|
|
10
|
+
*/
|
|
11
|
+
declare function listAlertTypes(ctx: RequestContext, pagination: PaginatedQuery): Promise<import('objection').Page<AlertType>>;
|
|
12
|
+
declare function getAlertTypeById(ctx: RequestContext, id: number): Promise<AlertType | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a type.
|
|
15
|
+
*
|
|
16
|
+
* The name is not unique: two types may share it. What identifies a type is its id, which is what
|
|
17
|
+
* `alert.alert_type_id` stores, so a repeated name classifies alerts under distinct types and does
|
|
18
|
+
* not merge them.
|
|
19
|
+
*/
|
|
20
|
+
declare function createAlertType(ctx: RequestContext, data: CreateAlertTypeData): Promise<AlertType>;
|
|
21
|
+
declare function updateAlertType(ctx: RequestContext, id: number, data: UpdateAlertTypeData): Promise<AlertType>;
|
|
22
|
+
/**
|
|
23
|
+
* Deletes a type. The `alert.alert_type_id` foreign key is `ON DELETE SET NULL`, so the alerts of a
|
|
24
|
+
* deleted type survive as unclassified rather than disappearing with it — an alert carries clinical
|
|
25
|
+
* data and must not be removed as a side effect of tidying up a catalog.
|
|
26
|
+
*/
|
|
27
|
+
declare function deleteAlertType(ctx: RequestContext, id: number): Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const AlertTypeService: {
|
|
31
|
+
list: typeof listAlertTypes;
|
|
32
|
+
getById: typeof getAlertTypeById;
|
|
33
|
+
create: typeof createAlertType;
|
|
34
|
+
update: typeof updateAlertType;
|
|
35
|
+
delete: typeof deleteAlertType;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=alert-type.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEnF;;;;;GAKG;AACH,iBAAe,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,gDAE5E;AAED,iBAAe,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,kCAE9D;AAED;;;;;;GAMG;AACH,iBAAe,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,sBAI5E;AAED,iBAAe,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,sBAQxF;AAED;;;;GAIG;AACH,iBAAe,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;GAO7D;AAED,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-type.service.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/alert-type.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { AlertTypeService } from './alert-type.service';
|
|
2
|
+
export { AlertType } from './alert-type.model';
|
|
3
|
+
export { AlertTypeController } from './alert-type.controller';
|
|
4
|
+
export { requireAlertTypeAdmin } from './alert-type.helper';
|
|
5
|
+
export type { AlertTypeData, CreateAlertTypeData, UpdateAlertTypeData } from './alert-type.schema';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/alert-type/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { default as Objection } from 'objection';
|
|
2
|
-
import { default as BaseModel } from '
|
|
3
|
-
import { default as RequestContext } from '
|
|
4
|
-
import { ProcessLogType } from '
|
|
2
|
+
import { default as BaseModel } from '../../../../models/BaseModel';
|
|
3
|
+
import { default as RequestContext } from '../../../../models/request/RequestContext';
|
|
4
|
+
import { ProcessLogType } from '../../../../schemas';
|
|
5
5
|
export declare function isTriggerEngineTrace(relatedModel: unknown): boolean;
|
|
6
|
-
export
|
|
6
|
+
export declare class ProcessLog extends BaseModel {
|
|
7
7
|
created_at: string;
|
|
8
8
|
mod_time: string;
|
|
9
9
|
created_user?: number;
|
|
@@ -124,4 +124,4 @@ export default class ProcessLog extends BaseModel {
|
|
|
124
124
|
static insert(ctx: RequestContext, data: Objection.PartialModelObject<ProcessLog>): Promise<ProcessLog>;
|
|
125
125
|
static patch(ctx: RequestContext, data: Objection.PartialModelObject<ProcessLog>, id: number): Promise<ProcessLog>;
|
|
126
126
|
}
|
|
127
|
-
//# sourceMappingURL=
|
|
127
|
+
//# sourceMappingURL=process-log.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/process-log.model.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAC5C,OAAO,cAAc,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAqB5C,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAEnE;AAED,qBAAa,UAAW,SAAQ,SAAS;IACvC,UAAU,EAAG,MAAM,CAAA;IACnB,QAAQ,EAAG,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAG,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,EAAG,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAG,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1B,MAAM,KAAK,SAAS,WAEnB;IAED,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwBpB;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc;IAInC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,iBAAiB;IAI1D,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,UAAU;IAUnE,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY;IAM/E,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY;WAK3C,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC;WAO1E,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM;CASnG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log.model.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/process-log.model.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface EcosystemPurgeResult {
|
|
2
|
+
ecosystem: string;
|
|
3
|
+
/** Rows deleted in this cycle. `null` when the ecosystem was skipped or failed. */
|
|
4
|
+
deleted: number | null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* One purge cycle: walks every ecosystem in the global `ecosystem` catalog and deletes
|
|
8
|
+
* its expired `process_log` rows.
|
|
9
|
+
*
|
|
10
|
+
* An ecosystem that fails is logged and skipped so it never aborts the rest, matching
|
|
11
|
+
* how the trigger engine isolates a failing trigger within a batch. The purge writes no
|
|
12
|
+
* `process_log` row of its own: it would be self-referential and, carrying no
|
|
13
|
+
* `expires_at`, those audit rows would be the only ones that never expire.
|
|
14
|
+
*/
|
|
15
|
+
declare function purgeExpiredProcessLogs(): Promise<EcosystemPurgeResult[]>;
|
|
16
|
+
export declare const ProcessLogPurgeService: {
|
|
17
|
+
purgeExpiredProcessLogs: typeof purgeExpiredProcessLogs;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=process-log.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/process-log.service.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AA+DD;;;;;;;;GAQG;AACH,iBAAe,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAiDxE;AAED,eAAO,MAAM,sBAAsB;;CAElC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log.service.e2e.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/process-log.service.e2e.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log.service.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/ecosystem/process-log/process-log.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-token.controller.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/auth-token/auth-token.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-token.controller.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/auth-token/auth-token.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAMxC,iBAAe,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,gBAItD;AAED,iBAAe,cAAc,CAAC,GAAG,EAAE,cAAc,iBAwFhD;AAED,eAAO,MAAM,mBAAmB;;;CAG/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dates.helper.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/dates/dates.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dates.helper.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/dates/dates.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAmBhD,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAGnC,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAEhE;AAQD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,MAA2B,EACtC,GAAG,UAAQ,GACV,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,UAAQ,GAAG,MAAM,CAEhG"}
|
|
@@ -4,4 +4,43 @@
|
|
|
4
4
|
* widget's `TrendWindowUnit`) build it on top of this one, so the set of units is defined once here.
|
|
5
5
|
*/
|
|
6
6
|
export type PeriodUnit = 'hour' | 'day' | 'week' | 'month';
|
|
7
|
+
/**
|
|
8
|
+
* Datetimes a request carries are declared with `format: 'date-time'` (RFC 3339): a date and a time
|
|
9
|
+
* separated by `T`, an optional fraction, and a mandatory offset (`Z` or `±HH:MM`). The offset names
|
|
10
|
+
* the instant; the service converts it to UTC for the column.
|
|
11
|
+
*
|
|
12
|
+
* The format is TypeBox's, not `ajv-formats`': routes compile through `TypeBoxValidatorCompiler`
|
|
13
|
+
* (`app.ts`), and `ajv-formats` only validates the v1/Objection layer. Which one runs matters,
|
|
14
|
+
* because TypeBox's is the stricter of the two and the difference is visible from outside:
|
|
15
|
+
*
|
|
16
|
+
* - It splits the value on `/T/i` alone, so `T`/`t` is the only separator — a space is a 400.
|
|
17
|
+
* - Its offset is `(?:Z|([+-])(\d\d):(\d\d))?`, so the minutes are not optional: `+01` is a 400,
|
|
18
|
+
* and so is `+0100` without the colon. That is what keeps `dayjs.utc()` from ever seeing an
|
|
19
|
+
* hour-only offset, which it cannot read — it would fall back to parsing the value as a bare wall
|
|
20
|
+
* clock and drop the offset, storing an instant an hour off with no error.
|
|
21
|
+
* - It bounds the offset to `±23:59` (`tzH > 23 || tzM > 59`), so `+99:99` is a 400, and it checks
|
|
22
|
+
* the calendar (`IsDate`, leap years included), so `2026-02-31T00:00:00Z` is a 400 before any
|
|
23
|
+
* handler runs. The bound is RFC 3339's and not the tz database's, so it also takes offsets no
|
|
24
|
+
* zone uses (`-14:00`, `+23:59`) — each still names one unambiguous instant, so what gets stored
|
|
25
|
+
* is right.
|
|
26
|
+
*
|
|
27
|
+
* A `pattern` alongside the format would be dead weight: everything one could reasonably spell in it
|
|
28
|
+
* is already a subset of what the format checks, and a stricter one drifts silently the day either
|
|
29
|
+
* side changes. This was tried and removed (persei/tasks#294).
|
|
30
|
+
*
|
|
31
|
+
* This is that contract in one sentence, for the description of a request field: what the format
|
|
32
|
+
* takes and, just as important, the two near-miss spellings a client is likely to try.
|
|
33
|
+
*/
|
|
34
|
+
export declare const API_DATETIME_ACCEPTED_NOTE = "Only this spelling is accepted: `T` as the separator (a space is a 400) and an offset with minutes, either `Z` or `\u00B1HH:MM` (`+01` and `+0100` are a 400). A lowercase `t`/`z` and a fractional second are fine";
|
|
35
|
+
/** An RFC 3339 datetime, for schema examples and API documentation. */
|
|
36
|
+
export declare const API_DATETIME_EXAMPLE = "2026-01-15T10:30:00Z";
|
|
37
|
+
/**
|
|
38
|
+
* What a datetime *coming out* of the API looks like, for the description of a response field.
|
|
39
|
+
*
|
|
40
|
+
* The outbound shape is narrower than the inbound one and no pattern states it: datetimes leave the
|
|
41
|
+
* column as `Date` and are serialised by `fast-json-stringify` with `.toISOString()`, so the schema
|
|
42
|
+
* never validates what is emitted. Saying it in the description is what puts it in the published
|
|
43
|
+
* spec, which is where a client reads the contract from.
|
|
44
|
+
*/
|
|
45
|
+
export declare const EMITTED_DATETIME_NOTE = "Emitted as ISO-8601 in UTC";
|
|
7
46
|
//# sourceMappingURL=dates.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dates.schema.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/dates/dates.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA"}
|
|
1
|
+
{"version":3,"file":"dates.schema.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/dates/dates.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,0BAA0B,wNAC2K,CAAA;AAElN,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,+BAA+B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-operation.controller.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/e2e-operation/e2e-operation.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"e2e-operation.controller.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/e2e-operation/e2e-operation.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAkE1E,eAAO,MAAM,sBAAsB;;CAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-operation.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/e2e-operation/e2e-operation.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"e2e-operation.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/e2e-operation/e2e-operation.service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAuLhE,MAAM,WAAW,OAAO;IAGtB,GAAG,CAAC,GAAG,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;CAC/E;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAgFD,eAAO,MAAM,aAAa,GAAU,KAAK,OAAO,EAAE,SAAS,MAAM,EAAE,OAAM,YAAiB,KAAG,OAAO,CAAC,IAAI,CAyExG,CAAA;AAiGD,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,EACZ,SAAS,MAAM,EACf,OAAM,YAAiB,KACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA6BtF,CAAA;AA8xBD,eAAO,MAAM,mBAAmB;sCAhBQ,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC;mBAkBrD,MAAM,UAAU,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAQxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2/modules/global/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|