@doctorus/common 0.0.0 → 0.0.2
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/README.md +391 -1
- package/lib/index.d.ts +2 -3
- package/lib/index.js +17 -8
- package/lib/operations/actions.d.ts +41 -0
- package/lib/operations/actions.js +54 -0
- package/lib/operations/index.d.ts +4 -0
- package/lib/operations/index.js +19 -0
- package/lib/operations/operation.d.ts +32 -0
- package/lib/operations/operation.js +61 -0
- package/lib/operations/predefined.d.ts +85 -0
- package/lib/operations/predefined.js +112 -0
- package/lib/operations/resources.d.ts +68 -0
- package/lib/operations/resources.js +140 -0
- package/lib/ssm/index.d.ts +2 -0
- package/lib/ssm/index.js +12 -0
- package/lib/ssm/keys.d.ts +27 -0
- package/lib/ssm/keys.js +32 -0
- package/lib/ssm/utils.d.ts +75 -0
- package/lib/ssm/utils.js +105 -0
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Action } from "./actions";
|
|
2
|
+
import { Operation } from "./operation";
|
|
3
|
+
import { Resource } from "./resources";
|
|
4
|
+
/**
|
|
5
|
+
* Predefined common operations for convenience
|
|
6
|
+
*/
|
|
7
|
+
export declare const Operations: {
|
|
8
|
+
readonly ACCOUNT_CREATE: Operation;
|
|
9
|
+
readonly ACCOUNT_READ: Operation;
|
|
10
|
+
readonly ACCOUNT_UPDATE: Operation;
|
|
11
|
+
readonly ACCOUNT_DELETE: Operation;
|
|
12
|
+
readonly ACCOUNT_MANAGE: Operation;
|
|
13
|
+
readonly PATIENT_CREATE: Operation;
|
|
14
|
+
readonly PATIENT_READ: Operation;
|
|
15
|
+
readonly PATIENT_UPDATE: Operation;
|
|
16
|
+
readonly PATIENT_DELETE: Operation;
|
|
17
|
+
readonly PATIENT_LIST: Operation;
|
|
18
|
+
readonly PATIENT_VIEW: Operation;
|
|
19
|
+
readonly PATIENT_UPDATE_STATUS: Operation;
|
|
20
|
+
readonly PATIENT_PAYMENT_PUT: Operation;
|
|
21
|
+
readonly PATIENT_PAYMENT_DELETE: Operation;
|
|
22
|
+
readonly MEDICAL_SERVICE_CREATE: Operation;
|
|
23
|
+
readonly MEDICAL_SERVICE_READ: Operation;
|
|
24
|
+
readonly MEDICAL_SERVICE_UPDATE: Operation;
|
|
25
|
+
readonly MEDICAL_SERVICE_DELETE: Operation;
|
|
26
|
+
readonly MEDICAL_SERVICE_MANAGE: Operation;
|
|
27
|
+
readonly MEDICAL_SERVICE_SET_STATUS: Operation;
|
|
28
|
+
readonly MEDICAL_SERVICE_SET_FEES: Operation;
|
|
29
|
+
readonly MEDICAL_RECORD_CREATE: Operation;
|
|
30
|
+
readonly MEDICAL_RECORD_READ: Operation;
|
|
31
|
+
readonly MEDICAL_RECORD_UPDATE: Operation;
|
|
32
|
+
readonly MEDICAL_RECORD_DELETE: Operation;
|
|
33
|
+
readonly MEDICAL_RECORD_SHARE: Operation;
|
|
34
|
+
readonly MEDICAL_RECORD_EXPORT: Operation;
|
|
35
|
+
readonly PRESCRIPTION_CREATE: Operation;
|
|
36
|
+
readonly PRESCRIPTION_READ: Operation;
|
|
37
|
+
readonly PRESCRIPTION_UPDATE: Operation;
|
|
38
|
+
readonly PRESCRIPTION_SIGN: Operation;
|
|
39
|
+
readonly PRESCRIPTION_PRESCRIBE: Operation;
|
|
40
|
+
readonly DIAGNOSIS_CREATE: Operation;
|
|
41
|
+
readonly DIAGNOSIS_READ: Operation;
|
|
42
|
+
readonly DIAGNOSIS_UPDATE: Operation;
|
|
43
|
+
readonly DIAGNOSIS_DIAGNOSE: Operation;
|
|
44
|
+
readonly DIAGNOSIS_VERIFY: Operation;
|
|
45
|
+
readonly MEDICAL_HISTORY_CREATE: Operation;
|
|
46
|
+
readonly MEDICAL_HISTORY_READ: Operation;
|
|
47
|
+
readonly MEDICAL_HISTORY_UPDATE: Operation;
|
|
48
|
+
readonly UPLOADED_DOCUMENT_CREATE: Operation;
|
|
49
|
+
readonly UPLOADED_DOCUMENT_READ: Operation;
|
|
50
|
+
readonly UPLOADED_DOCUMENT_DELETE: Operation;
|
|
51
|
+
readonly GENERATED_DOCUMENT_CREATE: Operation;
|
|
52
|
+
readonly GENERATED_DOCUMENT_READ: Operation;
|
|
53
|
+
readonly MEDICAL_SERVICE_SCHEDULE: Operation;
|
|
54
|
+
readonly MEDICAL_SERVICE_CANCEL: Operation;
|
|
55
|
+
readonly MEDICAL_SERVICE_LIST: Operation;
|
|
56
|
+
readonly USER_CREATE: Operation;
|
|
57
|
+
readonly USER_READ: Operation;
|
|
58
|
+
readonly USER_UPDATE: Operation;
|
|
59
|
+
readonly USER_DELETE: Operation;
|
|
60
|
+
readonly USER_LIST: Operation;
|
|
61
|
+
readonly USER_LOGIN: Operation;
|
|
62
|
+
readonly USER_LOGOUT: Operation;
|
|
63
|
+
readonly MEMBERSHIP_CREATE: Operation;
|
|
64
|
+
readonly MEMBERSHIP_READ: Operation;
|
|
65
|
+
readonly MEMBERSHIP_UPDATE: Operation;
|
|
66
|
+
readonly MEMBERSHIP_DELETE: Operation;
|
|
67
|
+
readonly AUDIT_LOG_CREATE: Operation;
|
|
68
|
+
readonly AUDIT_LOG_READ: Operation;
|
|
69
|
+
readonly AUDIT_LOG_LIST: Operation;
|
|
70
|
+
readonly AUDIT_LOG_AUDIT: Operation;
|
|
71
|
+
readonly SYSTEM_CONFIGURE: Operation;
|
|
72
|
+
readonly SYSTEM_AUDIT: Operation;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Get all predefined operations as an array
|
|
76
|
+
*/
|
|
77
|
+
export declare function getAllOperations(): Operation[];
|
|
78
|
+
/**
|
|
79
|
+
* Get all operations for a specific resource
|
|
80
|
+
*/
|
|
81
|
+
export declare function getOperationsByResource(resource: Resource): Operation[];
|
|
82
|
+
/**
|
|
83
|
+
* Get all operations for a specific action
|
|
84
|
+
*/
|
|
85
|
+
export declare function getOperationsByAction(action: Action): Operation[];
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Operations = void 0;
|
|
4
|
+
exports.getAllOperations = getAllOperations;
|
|
5
|
+
exports.getOperationsByResource = getOperationsByResource;
|
|
6
|
+
exports.getOperationsByAction = getOperationsByAction;
|
|
7
|
+
const actions_1 = require("./actions");
|
|
8
|
+
const operation_1 = require("./operation");
|
|
9
|
+
const resources_1 = require("./resources");
|
|
10
|
+
/**
|
|
11
|
+
* Predefined common operations for convenience
|
|
12
|
+
*/
|
|
13
|
+
exports.Operations = {
|
|
14
|
+
// Account operations
|
|
15
|
+
ACCOUNT_CREATE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.CREATE),
|
|
16
|
+
ACCOUNT_READ: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.READ),
|
|
17
|
+
ACCOUNT_UPDATE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.UPDATE),
|
|
18
|
+
ACCOUNT_DELETE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.DELETE),
|
|
19
|
+
ACCOUNT_MANAGE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.MANAGE),
|
|
20
|
+
// Patient operations
|
|
21
|
+
PATIENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.CREATE),
|
|
22
|
+
PATIENT_READ: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.READ),
|
|
23
|
+
PATIENT_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.UPDATE),
|
|
24
|
+
PATIENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.DELETE),
|
|
25
|
+
PATIENT_LIST: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.LIST),
|
|
26
|
+
PATIENT_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.VIEW_PATIENTS),
|
|
27
|
+
PATIENT_UPDATE_STATUS: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.UPDATE_STATUS),
|
|
28
|
+
// Patient payment operations
|
|
29
|
+
PATIENT_PAYMENT_PUT: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.PUT_PATIENT_PAYMENT),
|
|
30
|
+
PATIENT_PAYMENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.DELETE_PATIENT_PAYMENT),
|
|
31
|
+
// Medical service operations
|
|
32
|
+
MEDICAL_SERVICE_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CREATE),
|
|
33
|
+
MEDICAL_SERVICE_READ: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.READ),
|
|
34
|
+
MEDICAL_SERVICE_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE),
|
|
35
|
+
MEDICAL_SERVICE_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.DELETE),
|
|
36
|
+
MEDICAL_SERVICE_MANAGE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.MANAGE),
|
|
37
|
+
MEDICAL_SERVICE_SET_STATUS: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_STATUS, actions_1.Action.SET_MEDICAL_SERVICE_STATUS),
|
|
38
|
+
MEDICAL_SERVICE_SET_FEES: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_FEES, actions_1.Action.SET_MEDICAL_SERVICE_FEES),
|
|
39
|
+
// Medical record operations
|
|
40
|
+
MEDICAL_RECORD_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.CREATE),
|
|
41
|
+
MEDICAL_RECORD_READ: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.READ),
|
|
42
|
+
MEDICAL_RECORD_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.UPDATE),
|
|
43
|
+
MEDICAL_RECORD_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.DELETE),
|
|
44
|
+
MEDICAL_RECORD_SHARE: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.SHARE),
|
|
45
|
+
MEDICAL_RECORD_EXPORT: new operation_1.Operation(resources_1.Resource.MEDICAL_RECORD, actions_1.Action.EXPORT),
|
|
46
|
+
// Prescription operations
|
|
47
|
+
PRESCRIPTION_CREATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.CREATE),
|
|
48
|
+
PRESCRIPTION_READ: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.READ),
|
|
49
|
+
PRESCRIPTION_UPDATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.UPDATE),
|
|
50
|
+
PRESCRIPTION_SIGN: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.SIGN),
|
|
51
|
+
PRESCRIPTION_PRESCRIBE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.PRESCRIBE),
|
|
52
|
+
// Diagnosis operations
|
|
53
|
+
DIAGNOSIS_CREATE: new operation_1.Operation(resources_1.Resource.DIAGNOSIS, actions_1.Action.CREATE),
|
|
54
|
+
DIAGNOSIS_READ: new operation_1.Operation(resources_1.Resource.DIAGNOSIS, actions_1.Action.READ),
|
|
55
|
+
DIAGNOSIS_UPDATE: new operation_1.Operation(resources_1.Resource.DIAGNOSIS, actions_1.Action.UPDATE),
|
|
56
|
+
DIAGNOSIS_DIAGNOSE: new operation_1.Operation(resources_1.Resource.DIAGNOSIS, actions_1.Action.DIAGNOSE),
|
|
57
|
+
DIAGNOSIS_VERIFY: new operation_1.Operation(resources_1.Resource.DIAGNOSIS, actions_1.Action.VERIFY),
|
|
58
|
+
// Medical history operations
|
|
59
|
+
MEDICAL_HISTORY_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.CREATE),
|
|
60
|
+
MEDICAL_HISTORY_READ: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.READ),
|
|
61
|
+
MEDICAL_HISTORY_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.UPDATE),
|
|
62
|
+
// Document operations
|
|
63
|
+
UPLOADED_DOCUMENT_CREATE: new operation_1.Operation(resources_1.Resource.UPLOADED_DOCUMENT, actions_1.Action.CREATE),
|
|
64
|
+
UPLOADED_DOCUMENT_READ: new operation_1.Operation(resources_1.Resource.UPLOADED_DOCUMENT, actions_1.Action.READ),
|
|
65
|
+
UPLOADED_DOCUMENT_DELETE: new operation_1.Operation(resources_1.Resource.UPLOADED_DOCUMENT, actions_1.Action.DELETE),
|
|
66
|
+
GENERATED_DOCUMENT_CREATE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.CREATE),
|
|
67
|
+
GENERATED_DOCUMENT_READ: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.READ),
|
|
68
|
+
// Medical service scheduling operations (appointments)
|
|
69
|
+
MEDICAL_SERVICE_SCHEDULE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.SCHEDULE),
|
|
70
|
+
MEDICAL_SERVICE_CANCEL: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CANCEL),
|
|
71
|
+
MEDICAL_SERVICE_LIST: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.LIST),
|
|
72
|
+
// User operations
|
|
73
|
+
USER_CREATE: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.CREATE),
|
|
74
|
+
USER_READ: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.READ),
|
|
75
|
+
USER_UPDATE: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.UPDATE),
|
|
76
|
+
USER_DELETE: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.DELETE),
|
|
77
|
+
USER_LIST: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.LIST),
|
|
78
|
+
USER_LOGIN: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.LOGIN),
|
|
79
|
+
USER_LOGOUT: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.LOGOUT),
|
|
80
|
+
// Membership operations
|
|
81
|
+
MEMBERSHIP_CREATE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.CREATE),
|
|
82
|
+
MEMBERSHIP_READ: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.READ),
|
|
83
|
+
MEMBERSHIP_UPDATE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.UPDATE),
|
|
84
|
+
MEMBERSHIP_DELETE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.DELETE),
|
|
85
|
+
// Audit log operations
|
|
86
|
+
AUDIT_LOG_CREATE: new operation_1.Operation(resources_1.Resource.AUDIT_LOG, actions_1.Action.CREATE),
|
|
87
|
+
AUDIT_LOG_READ: new operation_1.Operation(resources_1.Resource.AUDIT_LOG, actions_1.Action.READ),
|
|
88
|
+
AUDIT_LOG_LIST: new operation_1.Operation(resources_1.Resource.AUDIT_LOG, actions_1.Action.LIST),
|
|
89
|
+
AUDIT_LOG_AUDIT: new operation_1.Operation(resources_1.Resource.AUDIT_LOG, actions_1.Action.AUDIT),
|
|
90
|
+
// System operations
|
|
91
|
+
SYSTEM_CONFIGURE: new operation_1.Operation(resources_1.Resource.SYSTEM, actions_1.Action.CONFIGURE),
|
|
92
|
+
SYSTEM_AUDIT: new operation_1.Operation(resources_1.Resource.SYSTEM, actions_1.Action.AUDIT),
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Get all predefined operations as an array
|
|
96
|
+
*/
|
|
97
|
+
function getAllOperations() {
|
|
98
|
+
return Object.values(exports.Operations);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get all operations for a specific resource
|
|
102
|
+
*/
|
|
103
|
+
function getOperationsByResource(resource) {
|
|
104
|
+
return getAllOperations().filter((op) => op.resource === resource);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get all operations for a specific action
|
|
108
|
+
*/
|
|
109
|
+
function getOperationsByAction(action) {
|
|
110
|
+
return getAllOperations().filter((op) => op.action === action);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3ByZWRlZmluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0pBLDRDQUVDO0FBS0QsMERBRUM7QUFLRCxzREFFQztBQS9LRCx1Q0FBbUM7QUFDbkMsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFOUQscUJBQXFCO0lBQ3JCLGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsWUFBWSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUMxRCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVB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QU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsUUFBa0I7SUFDeEQsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxNQUFjO0lBQ2xELE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvbnNcIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL29wZXJhdGlvblwiO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tIFwiLi9yZXNvdXJjZXNcIjtcblxuLyoqXG4gKiBQcmVkZWZpbmVkIGNvbW1vbiBvcGVyYXRpb25zIGZvciBjb252ZW5pZW5jZVxuICovXG5leHBvcnQgY29uc3QgT3BlcmF0aW9ucyA9IHtcbiAgLy8gQWNjb3VudCBvcGVyYXRpb25zXG4gIEFDQ09VTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBBQ0NPVU5UX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlJFQUQpLFxuICBBQ0NPVU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgQUNDT1VOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLkRFTEVURSksXG4gIEFDQ09VTlRfTUFOQUdFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5NQU5BR0UpLFxuXG4gIC8vIFBhdGllbnQgb3BlcmF0aW9uc1xuICBQQVRJRU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgUEFUSUVOVF9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5SRUFEKSxcbiAgUEFUSUVOVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlVQREFURSksXG4gIFBBVElFTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5ERUxFVEUpLFxuICBQQVRJRU5UX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLkxJU1QpLFxuICBQQVRJRU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlZJRVdfUEFUSUVOVFMpLFxuICBQQVRJRU5UX1VQREFURV9TVEFUVVM6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlVQREFURV9TVEFUVVMpLFxuXG4gIC8vIFBhdGllbnQgcGF5bWVudCBvcGVyYXRpb25zXG4gIFBBVElFTlRfUEFZTUVOVF9QVVQ6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuUEFUSUVOVF9QQVlNRU5ULFxuICAgIEFjdGlvbi5QVVRfUEFUSUVOVF9QQVlNRU5ULFxuICApLFxuICBQQVRJRU5UX1BBWU1FTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlBBVElFTlRfUEFZTUVOVCxcbiAgICBBY3Rpb24uREVMRVRFX1BBVElFTlRfUEFZTUVOVCxcbiAgKSxcblxuICAvLyBNZWRpY2FsIHNlcnZpY2Ugb3BlcmF0aW9uc1xuICBNRURJQ0FMX1NFUlZJQ0VfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfU0VSVklDRSxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBNRURJQ0FMX1NFUlZJQ0VfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5SRUFEKSxcbiAgTUVESUNBTF9TRVJWSUNFX1VQREFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLlVQREFURSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0RFTEVURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLkRFTEVURSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX01BTkFHRTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLk1BTkFHRSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX1NFVF9TVEFUVVM6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX1NUQVRVUyxcbiAgICBBY3Rpb24uU0VUX01FRElDQUxfU0VSVklDRV9TVEFUVVMsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9TRVRfRkVFUzogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfRkVFUyxcbiAgICBBY3Rpb24uU0VUX01FRElDQUxfU0VSVklDRV9GRUVTLFxuICApLFxuXG4gIC8vIE1lZGljYWwgcmVjb3JkIG9wZXJhdGlvbnNcbiAgTUVESUNBTF9SRUNPUkRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVESUNBTF9SRUNPUkRfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLlJFQUQpLFxuICBNRURJQ0FMX1JFQ09SRF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5VUERBVEUpLFxuICBNRURJQ0FMX1JFQ09SRF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5ERUxFVEUpLFxuICBNRURJQ0FMX1JFQ09SRF9TSEFSRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLlNIQVJFKSxcbiAgTUVESUNBTF9SRUNPUkRfRVhQT1JUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uRVhQT1JUKSxcblxuICAvLyBQcmVzY3JpcHRpb24gb3BlcmF0aW9uc1xuICBQUkVTQ1JJUFRJT05fQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLkNSRUFURSksXG4gIFBSRVNDUklQVElPTl9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlJFQUQpLFxuICBQUkVTQ1JJUFRJT05fVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlVQREFURSksXG4gIFBSRVNDUklQVElPTl9TSUdOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlNJR04pLFxuICBQUkVTQ1JJUFRJT05fUFJFU0NSSUJFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlBSRVNDUklQVElPTixcbiAgICBBY3Rpb24uUFJFU0NSSUJFLFxuICApLFxuXG4gIC8vIERpYWdub3NpcyBvcGVyYXRpb25zXG4gIERJQUdOT1NJU19DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uQ1JFQVRFKSxcbiAgRElBR05PU0lTX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uUkVBRCksXG4gIERJQUdOT1NJU19VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uVVBEQVRFKSxcbiAgRElBR05PU0lTX0RJQUdOT1NFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRJQUdOT1NJUywgQWN0aW9uLkRJQUdOT1NFKSxcbiAgRElBR05PU0lTX1ZFUklGWTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ESUFHTk9TSVMsIEFjdGlvbi5WRVJJRlkpLFxuXG4gIC8vIE1lZGljYWwgaGlzdG9yeSBvcGVyYXRpb25zXG4gIE1FRElDQUxfSElTVE9SWV9DUkVBVEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLFxuICAgIEFjdGlvbi5DUkVBVEUsXG4gICksXG4gIE1FRElDQUxfSElTVE9SWV9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWSwgQWN0aW9uLlJFQUQpLFxuICBNRURJQ0FMX0hJU1RPUllfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfSElTVE9SWSxcbiAgICBBY3Rpb24uVVBEQVRFLFxuICApLFxuXG4gIC8vIERvY3VtZW50IG9wZXJhdGlvbnNcbiAgVVBMT0FERURfRE9DVU1FTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlVQTE9BREVEX0RPQ1VNRU5ULFxuICAgIEFjdGlvbi5DUkVBVEUsXG4gICksXG4gIFVQTE9BREVEX0RPQ1VNRU5UX1JFQUQ6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuVVBMT0FERURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLlJFQUQsXG4gICksXG4gIFVQTE9BREVEX0RPQ1VNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5VUExPQURFRF9ET0NVTUVOVCxcbiAgICBBY3Rpb24uREVMRVRFLFxuICApLFxuICBHRU5FUkFURURfRE9DVU1FTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLkdFTkVSQVRFRF9ET0NVTUVOVCxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBHRU5FUkFURURfRE9DVU1FTlRfUkVBRDogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5HRU5FUkFURURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLlJFQUQsXG4gICksXG5cbiAgLy8gTWVkaWNhbCBzZXJ2aWNlIHNjaGVkdWxpbmcgb3BlcmF0aW9ucyAoYXBwb2ludG1lbnRzKVxuICBNRURJQ0FMX1NFUlZJQ0VfU0NIRURVTEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5TQ0hFRFVMRSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NBTkNFTDogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLkNBTkNFTCxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uTElTVCksXG5cbiAgLy8gVXNlciBvcGVyYXRpb25zXG4gIFVTRVJfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5DUkVBVEUpLFxuICBVU0VSX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLlJFQUQpLFxuICBVU0VSX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VU0VSLCBBY3Rpb24uVVBEQVRFKSxcbiAgVVNFUl9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkRFTEVURSksXG4gIFVTRVJfTElTVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VU0VSLCBBY3Rpb24uTElTVCksXG4gIFVTRVJfTE9HSU46IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkxPR0lOKSxcbiAgVVNFUl9MT0dPVVQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkxPR09VVCksXG5cbiAgLy8gTWVtYmVyc2hpcCBvcGVyYXRpb25zXG4gIE1FTUJFUlNISVBfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5DUkVBVEUpLFxuICBNRU1CRVJTSElQX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLlJFQUQpLFxuICBNRU1CRVJTSElQX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRU1CRVJTSElQLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVNQkVSU0hJUF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLkRFTEVURSksXG5cbiAgLy8gQXVkaXQgbG9nIG9wZXJhdGlvbnNcbiAgQVVESVRfTE9HX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5DUkVBVEUpLFxuICBBVURJVF9MT0dfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5SRUFEKSxcbiAgQVVESVRfTE9HX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQVVESVRfTE9HLCBBY3Rpb24uTElTVCksXG4gIEFVRElUX0xPR19BVURJVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5BVURJVCksXG5cbiAgLy8gU3lzdGVtIG9wZXJhdGlvbnNcbiAgU1lTVEVNX0NPTkZJR1VSRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5TWVNURU0sIEFjdGlvbi5DT05GSUdVUkUpLFxuICBTWVNURU1fQVVESVQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuU1lTVEVNLCBBY3Rpb24uQVVESVQpLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBHZXQgYWxsIHByZWRlZmluZWQgb3BlcmF0aW9ucyBhcyBhbiBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsT3BlcmF0aW9ucygpOiBPcGVyYXRpb25bXSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE9wZXJhdGlvbnMpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyBmb3IgYSBzcGVjaWZpYyByZXNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5UmVzb3VyY2UocmVzb3VyY2U6IFJlc291cmNlKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLnJlc291cmNlID09PSByZXNvdXJjZSk7XG59XG5cbi8qKlxuICogR2V0IGFsbCBvcGVyYXRpb25zIGZvciBhIHNwZWNpZmljIGFjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5QWN0aW9uKGFjdGlvbjogQWN0aW9uKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLmFjdGlvbiA9PT0gYWN0aW9uKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource types for operations
|
|
3
|
+
*/
|
|
4
|
+
export declare enum Resource {
|
|
5
|
+
ACCOUNT = "ACCOUNT",
|
|
6
|
+
ACCOUNT_OWNERSHIP = "ACCOUNT_OWNERSHIP",
|
|
7
|
+
ACCOUNT_PREFERENCES = "ACCOUNT_PREFERENCES",
|
|
8
|
+
USER = "USER",
|
|
9
|
+
CONTACT = "CONTACT",
|
|
10
|
+
PATIENT = "PATIENT",
|
|
11
|
+
PATIENT_MEDICAL_NOTES = "PATIENT_MEDICAL_NOTES",
|
|
12
|
+
PATIENT_MEDICAL_PROPERTIES = "PATIENT_MEDICAL_PROPERTIES",
|
|
13
|
+
PATIENT_PUBLIC_PROPERTIES = "PATIENT_PUBLIC_PROPERTIES",
|
|
14
|
+
PATIENT_PAYMENT = "PATIENT_PAYMENT",
|
|
15
|
+
MEDICAL_SERVICE = "MEDICAL_SERVICE",
|
|
16
|
+
MEDICAL_SERVICE_NOTE = "MEDICAL_SERVICE_NOTE",
|
|
17
|
+
MEDICAL_SERVICE_SCHEDULE = "MEDICAL_SERVICE_SCHEDULE",
|
|
18
|
+
MEDICAL_SERVICE_FEES = "MEDICAL_SERVICE_FEES",
|
|
19
|
+
MEDICAL_SERVICE_STATUS = "MEDICAL_SERVICE_STATUS",
|
|
20
|
+
MEDICAL_NOTE = "MEDICAL_NOTE",
|
|
21
|
+
MEDICAL_RECORD = "MEDICAL_RECORD",
|
|
22
|
+
MEDICAL_HISTORY = "MEDICAL_HISTORY",
|
|
23
|
+
MEDICAL_HISTORY_MODEL = "MEDICAL_HISTORY_MODEL",
|
|
24
|
+
PRESCRIPTION = "PRESCRIPTION",
|
|
25
|
+
DIAGNOSIS = "DIAGNOSIS",
|
|
26
|
+
OBSERVATION = "OBSERVATION",
|
|
27
|
+
MEDICATION = "MEDICATION",
|
|
28
|
+
ALLERGY = "ALLERGY",
|
|
29
|
+
IMMUNIZATION = "IMMUNIZATION",
|
|
30
|
+
PROCEDURE = "PROCEDURE",
|
|
31
|
+
CLINICAL_NOTE = "CLINICAL_NOTE",
|
|
32
|
+
VITAL_SIGNS = "VITAL_SIGNS",
|
|
33
|
+
MEASURE_MODEL = "MEASURE_MODEL",
|
|
34
|
+
CALCULATED_MEASURE_MODEL = "CALCULATED_MEASURE_MODEL",
|
|
35
|
+
UPLOADED_DOCUMENT = "UPLOADED_DOCUMENT",
|
|
36
|
+
DOCUMENT_LAYOUT = "DOCUMENT_LAYOUT",
|
|
37
|
+
GENERATED_DOCUMENT = "GENERATED_DOCUMENT",
|
|
38
|
+
DOCUMENT_MODEL = "DOCUMENT_MODEL",
|
|
39
|
+
SNIPPET = "SNIPPET",
|
|
40
|
+
LOCATION = "LOCATION",
|
|
41
|
+
TASK_TYPE = "TASK_TYPE",
|
|
42
|
+
LAB_RESULT = "LAB_RESULT",
|
|
43
|
+
IMAGING = "IMAGING",
|
|
44
|
+
MEMBERSHIP = "MEMBERSHIP",
|
|
45
|
+
SETTINGS = "SETTINGS",
|
|
46
|
+
NOTIFICATION = "NOTIFICATION",
|
|
47
|
+
REPORT = "REPORT",
|
|
48
|
+
AUDIT_LOG = "AUDIT_LOG",
|
|
49
|
+
SYSTEM = "SYSTEM",
|
|
50
|
+
PUBLIC_RESOURCE = "PUBLIC_RESOURCE",
|
|
51
|
+
MEDICAL_RESOURCE = "MEDICAL_RESOURCE"
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Medical resources - require special access control
|
|
55
|
+
*/
|
|
56
|
+
export declare const MEDICAL_RESOURCES: Resource[];
|
|
57
|
+
/**
|
|
58
|
+
* Public resources - standard access control
|
|
59
|
+
*/
|
|
60
|
+
export declare const PUBLIC_RESOURCES: Resource[];
|
|
61
|
+
/**
|
|
62
|
+
* Check if a resource is medical
|
|
63
|
+
*/
|
|
64
|
+
export declare function isMedicalResource(resource: Resource): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Check if a resource is public
|
|
67
|
+
*/
|
|
68
|
+
export declare function isPublicResource(resource: Resource): boolean;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PUBLIC_RESOURCES = exports.MEDICAL_RESOURCES = exports.Resource = void 0;
|
|
4
|
+
exports.isMedicalResource = isMedicalResource;
|
|
5
|
+
exports.isPublicResource = isPublicResource;
|
|
6
|
+
/**
|
|
7
|
+
* Resource types for operations
|
|
8
|
+
*/
|
|
9
|
+
var Resource;
|
|
10
|
+
(function (Resource) {
|
|
11
|
+
// Account & Ownership
|
|
12
|
+
Resource["ACCOUNT"] = "ACCOUNT";
|
|
13
|
+
Resource["ACCOUNT_OWNERSHIP"] = "ACCOUNT_OWNERSHIP";
|
|
14
|
+
Resource["ACCOUNT_PREFERENCES"] = "ACCOUNT_PREFERENCES";
|
|
15
|
+
// User & Contact
|
|
16
|
+
Resource["USER"] = "USER";
|
|
17
|
+
Resource["CONTACT"] = "CONTACT";
|
|
18
|
+
// Patient resources
|
|
19
|
+
Resource["PATIENT"] = "PATIENT";
|
|
20
|
+
Resource["PATIENT_MEDICAL_NOTES"] = "PATIENT_MEDICAL_NOTES";
|
|
21
|
+
Resource["PATIENT_MEDICAL_PROPERTIES"] = "PATIENT_MEDICAL_PROPERTIES";
|
|
22
|
+
Resource["PATIENT_PUBLIC_PROPERTIES"] = "PATIENT_PUBLIC_PROPERTIES";
|
|
23
|
+
Resource["PATIENT_PAYMENT"] = "PATIENT_PAYMENT";
|
|
24
|
+
// Medical Service
|
|
25
|
+
Resource["MEDICAL_SERVICE"] = "MEDICAL_SERVICE";
|
|
26
|
+
Resource["MEDICAL_SERVICE_NOTE"] = "MEDICAL_SERVICE_NOTE";
|
|
27
|
+
Resource["MEDICAL_SERVICE_SCHEDULE"] = "MEDICAL_SERVICE_SCHEDULE";
|
|
28
|
+
Resource["MEDICAL_SERVICE_FEES"] = "MEDICAL_SERVICE_FEES";
|
|
29
|
+
Resource["MEDICAL_SERVICE_STATUS"] = "MEDICAL_SERVICE_STATUS";
|
|
30
|
+
// Medical resources
|
|
31
|
+
Resource["MEDICAL_NOTE"] = "MEDICAL_NOTE";
|
|
32
|
+
Resource["MEDICAL_RECORD"] = "MEDICAL_RECORD";
|
|
33
|
+
Resource["MEDICAL_HISTORY"] = "MEDICAL_HISTORY";
|
|
34
|
+
Resource["MEDICAL_HISTORY_MODEL"] = "MEDICAL_HISTORY_MODEL";
|
|
35
|
+
Resource["PRESCRIPTION"] = "PRESCRIPTION";
|
|
36
|
+
Resource["DIAGNOSIS"] = "DIAGNOSIS";
|
|
37
|
+
Resource["OBSERVATION"] = "OBSERVATION";
|
|
38
|
+
Resource["MEDICATION"] = "MEDICATION";
|
|
39
|
+
Resource["ALLERGY"] = "ALLERGY";
|
|
40
|
+
Resource["IMMUNIZATION"] = "IMMUNIZATION";
|
|
41
|
+
Resource["PROCEDURE"] = "PROCEDURE";
|
|
42
|
+
// Clinical & Measurements
|
|
43
|
+
Resource["CLINICAL_NOTE"] = "CLINICAL_NOTE";
|
|
44
|
+
Resource["VITAL_SIGNS"] = "VITAL_SIGNS";
|
|
45
|
+
Resource["MEASURE_MODEL"] = "MEASURE_MODEL";
|
|
46
|
+
Resource["CALCULATED_MEASURE_MODEL"] = "CALCULATED_MEASURE_MODEL";
|
|
47
|
+
// Documents
|
|
48
|
+
Resource["UPLOADED_DOCUMENT"] = "UPLOADED_DOCUMENT";
|
|
49
|
+
Resource["DOCUMENT_LAYOUT"] = "DOCUMENT_LAYOUT";
|
|
50
|
+
Resource["GENERATED_DOCUMENT"] = "GENERATED_DOCUMENT";
|
|
51
|
+
Resource["DOCUMENT_MODEL"] = "DOCUMENT_MODEL";
|
|
52
|
+
Resource["SNIPPET"] = "SNIPPET";
|
|
53
|
+
// Scheduling & Location
|
|
54
|
+
Resource["LOCATION"] = "LOCATION";
|
|
55
|
+
Resource["TASK_TYPE"] = "TASK_TYPE";
|
|
56
|
+
// Diagnostic
|
|
57
|
+
Resource["LAB_RESULT"] = "LAB_RESULT";
|
|
58
|
+
Resource["IMAGING"] = "IMAGING";
|
|
59
|
+
// Membership & Settings
|
|
60
|
+
Resource["MEMBERSHIP"] = "MEMBERSHIP";
|
|
61
|
+
Resource["SETTINGS"] = "SETTINGS";
|
|
62
|
+
// System
|
|
63
|
+
Resource["NOTIFICATION"] = "NOTIFICATION";
|
|
64
|
+
Resource["REPORT"] = "REPORT";
|
|
65
|
+
Resource["AUDIT_LOG"] = "AUDIT_LOG";
|
|
66
|
+
Resource["SYSTEM"] = "SYSTEM";
|
|
67
|
+
// Generic resources
|
|
68
|
+
Resource["PUBLIC_RESOURCE"] = "PUBLIC_RESOURCE";
|
|
69
|
+
Resource["MEDICAL_RESOURCE"] = "MEDICAL_RESOURCE";
|
|
70
|
+
})(Resource || (exports.Resource = Resource = {}));
|
|
71
|
+
/**
|
|
72
|
+
* Medical resources - require special access control
|
|
73
|
+
*/
|
|
74
|
+
exports.MEDICAL_RESOURCES = [
|
|
75
|
+
Resource.PATIENT,
|
|
76
|
+
Resource.PATIENT_MEDICAL_NOTES,
|
|
77
|
+
Resource.PATIENT_MEDICAL_PROPERTIES,
|
|
78
|
+
Resource.PATIENT_PAYMENT,
|
|
79
|
+
Resource.MEDICAL_SERVICE,
|
|
80
|
+
Resource.MEDICAL_SERVICE_NOTE,
|
|
81
|
+
Resource.MEDICAL_SERVICE_SCHEDULE,
|
|
82
|
+
Resource.MEDICAL_SERVICE_FEES,
|
|
83
|
+
Resource.MEDICAL_SERVICE_STATUS,
|
|
84
|
+
Resource.MEDICAL_NOTE,
|
|
85
|
+
Resource.MEDICAL_RECORD,
|
|
86
|
+
Resource.MEDICAL_HISTORY,
|
|
87
|
+
Resource.MEDICAL_HISTORY_MODEL,
|
|
88
|
+
Resource.PRESCRIPTION,
|
|
89
|
+
Resource.DIAGNOSIS,
|
|
90
|
+
Resource.OBSERVATION,
|
|
91
|
+
Resource.MEDICATION,
|
|
92
|
+
Resource.ALLERGY,
|
|
93
|
+
Resource.IMMUNIZATION,
|
|
94
|
+
Resource.PROCEDURE,
|
|
95
|
+
Resource.CLINICAL_NOTE,
|
|
96
|
+
Resource.VITAL_SIGNS,
|
|
97
|
+
Resource.MEASURE_MODEL,
|
|
98
|
+
Resource.CALCULATED_MEASURE_MODEL,
|
|
99
|
+
Resource.LAB_RESULT,
|
|
100
|
+
Resource.IMAGING,
|
|
101
|
+
Resource.MEDICAL_RESOURCE,
|
|
102
|
+
];
|
|
103
|
+
/**
|
|
104
|
+
* Public resources - standard access control
|
|
105
|
+
*/
|
|
106
|
+
exports.PUBLIC_RESOURCES = [
|
|
107
|
+
Resource.ACCOUNT,
|
|
108
|
+
Resource.ACCOUNT_OWNERSHIP,
|
|
109
|
+
Resource.ACCOUNT_PREFERENCES,
|
|
110
|
+
Resource.USER,
|
|
111
|
+
Resource.CONTACT,
|
|
112
|
+
Resource.PATIENT_PUBLIC_PROPERTIES,
|
|
113
|
+
Resource.UPLOADED_DOCUMENT,
|
|
114
|
+
Resource.DOCUMENT_LAYOUT,
|
|
115
|
+
Resource.GENERATED_DOCUMENT,
|
|
116
|
+
Resource.DOCUMENT_MODEL,
|
|
117
|
+
Resource.SNIPPET,
|
|
118
|
+
Resource.LOCATION,
|
|
119
|
+
Resource.TASK_TYPE,
|
|
120
|
+
Resource.MEMBERSHIP,
|
|
121
|
+
Resource.SETTINGS,
|
|
122
|
+
Resource.NOTIFICATION,
|
|
123
|
+
Resource.REPORT,
|
|
124
|
+
Resource.AUDIT_LOG,
|
|
125
|
+
Resource.SYSTEM,
|
|
126
|
+
Resource.PUBLIC_RESOURCE,
|
|
127
|
+
];
|
|
128
|
+
/**
|
|
129
|
+
* Check if a resource is medical
|
|
130
|
+
*/
|
|
131
|
+
function isMedicalResource(resource) {
|
|
132
|
+
return exports.MEDICAL_RESOURCES.includes(resource);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Check if a resource is public
|
|
136
|
+
*/
|
|
137
|
+
function isPublicResource(resource) {
|
|
138
|
+
return exports.PUBLIC_RESOURCES.includes(resource);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29wZXJhdGlvbnMvcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTBJQSw4Q0FFQztBQUtELDRDQUVDO0FBbkpEOztHQUVHO0FBQ0gsSUFBWSxRQXVFWDtBQXZFRCxXQUFZLFFBQVE7SUFDbEIsc0JBQXNCO0lBQ3RCLCtCQUFtQixDQUFBO0lBQ25CLG1EQUF1QyxDQUFBO0lBQ3ZDLHVEQUEyQyxDQUFBO0lBRTNDLGlCQUFpQjtJQUNqQix5QkFBYSxDQUFBO0lBQ2IsK0JBQW1CLENBQUE7SUFFbkIsb0JBQW9CO0lBQ3BCLCtCQUFtQixDQUFBO0lBQ25CLDJEQUErQyxDQUFBO0lBQy9DLHFFQUF5RCxDQUFBO0lBQ3pELG1FQUF1RCxDQUFBO0lBQ3ZELCtDQUFtQyxDQUFBO0lBRW5DLGtCQUFrQjtJQUNsQiwrQ0FBbUMsQ0FBQTtJQUNuQyx5REFBNkMsQ0FBQTtJQUM3QyxpRUFBcUQsQ0FBQTtJQUNyRCx5REFBNkMsQ0FBQTtJQUM3Qyw2REFBaUQsQ0FBQTtJQUVqRCxvQkFBb0I7SUFDcEIseUNBQTZCLENBQUE7SUFDN0IsNkNBQWlDLENBQUE7SUFDakMsK0NBQW1DLENBQUE7SUFDbkMsMkRBQStDLENBQUE7SUFDL0MseUNBQTZCLENBQUE7SUFDN0IsbUNBQXVCLENBQUE7SUFDdkIsdUNBQTJCLENBQUE7SUFDM0IscUNBQXlCLENBQUE7SUFDekIsK0JBQW1CLENBQUE7SUFDbkIseUNBQTZCLENBQUE7SUFDN0IsbUNBQXVCLENBQUE7SUFFdkIsMEJBQTBCO0lBQzFCLDJDQUErQixDQUFBO0lBQy9CLHVDQUEyQixDQUFBO0lBQzNCLDJDQUErQixDQUFBO0lBQy9CLGlFQUFxRCxDQUFBO0lBRXJELFlBQVk7SUFDWixtREFBdUMsQ0FBQTtJQUN2QywrQ0FBbUMsQ0FBQTtJQUNuQyxxREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBaUMsQ0FBQTtJQUNqQywrQkFBbUIsQ0FBQTtJQUVuQix3QkFBd0I7SUFDeEIsaUNBQXFCLENBQUE7SUFDckIsbUNBQXVCLENBQUE7SUFFdkIsYUFBYTtJQUNiLHFDQUF5QixDQUFBO0lBQ3pCLCtCQUFtQixDQUFBO0lBRW5CLHdCQUF3QjtJQUN4QixxQ0FBeUIsQ0FBQTtJQUN6QixpQ0FBcUIsQ0FBQTtJQUVyQixTQUFTO0lBQ1QseUNBQTZCLENBQUE7SUFDN0IsNkJBQWlCLENBQUE7SUFDakIsbUNBQXVCLENBQUE7SUFDdkIsNkJBQWlCLENBQUE7SUFFakIsb0JBQW9CO0lBQ3BCLCtDQUFtQyxDQUFBO0lBQ25DLGlEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUF2RVcsUUFBUSx3QkFBUixRQUFRLFFBdUVuQjtBQUVEOztHQUVHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBZTtJQUMzQyxRQUFRLENBQUMsT0FBTztJQUNoQixRQUFRLENBQUMscUJBQXFCO0lBQzlCLFFBQVEsQ0FBQywwQkFBMEI7SUFDbkMsUUFBUSxDQUFDLGVBQWU7SUFDeEIsUUFBUSxDQUFDLGVBQWU7SUFDeEIsUUFBUSxDQUFDLG9CQUFvQjtJQUM3QixRQUFRLENBQUMsd0JBQXdCO0lBQ2pDLFFBQVEsQ0FBQyxvQkFBb0I7SUFDN0IsUUFBUSxDQUFDLHNCQUFzQjtJQUMvQixRQUFRLENBQUMsWUFBWTtJQUNyQixRQUFRLENBQUMsY0FBYztJQUN2QixRQUFRLENBQUMsZUFBZTtJQUN4QixRQUFRLENBQUMscUJBQXFCO0lBQzlCLFFBQVEsQ0FBQyxZQUFZO0lBQ3JCLFFBQVEsQ0FBQyxTQUFTO0lBQ2xCLFFBQVEsQ0FBQyxXQUFXO0lBQ3BCLFFBQVEsQ0FBQyxVQUFVO0lBQ25CLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyxZQUFZO0lBQ3JCLFFBQVEsQ0FBQyxTQUFTO0lBQ2xCLFFBQVEsQ0FBQyxhQUFhO0lBQ3RCLFFBQVEsQ0FBQyxXQUFXO0lBQ3BCLFFBQVEsQ0FBQyxhQUFhO0lBQ3RCLFFBQVEsQ0FBQyx3QkFBd0I7SUFDakMsUUFBUSxDQUFDLFVBQVU7SUFDbkIsUUFBUSxDQUFDLE9BQU87SUFDaEIsUUFBUSxDQUFDLGdCQUFnQjtDQUMxQixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFlO0lBQzFDLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyxpQkFBaUI7SUFDMUIsUUFBUSxDQUFDLG1CQUFtQjtJQUM1QixRQUFRLENBQUMsSUFBSTtJQUNiLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyx5QkFBeUI7SUFDbEMsUUFBUSxDQUFDLGlCQUFpQjtJQUMxQixRQUFRLENBQUMsZUFBZTtJQUN4QixRQUFRLENBQUMsa0JBQWtCO0lBQzNCLFFBQVEsQ0FBQyxjQUFjO0lBQ3ZCLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyxRQUFRO0lBQ2pCLFFBQVEsQ0FBQyxTQUFTO0lBQ2xCLFFBQVEsQ0FBQyxVQUFVO0lBQ25CLFFBQVEsQ0FBQyxRQUFRO0lBQ2pCLFFBQVEsQ0FBQyxZQUFZO0lBQ3JCLFFBQVEsQ0FBQyxNQUFNO0lBQ2YsUUFBUSxDQUFDLFNBQVM7SUFDbEIsUUFBUSxDQUFDLE1BQU07SUFDZixRQUFRLENBQUMsZUFBZTtDQUN6QixDQUFDO0FBRUY7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFrQjtJQUNsRCxPQUFPLHlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUFrQjtJQUNqRCxPQUFPLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvdXJjZSB0eXBlcyBmb3Igb3BlcmF0aW9uc1xuICovXG5leHBvcnQgZW51bSBSZXNvdXJjZSB7XG4gIC8vIEFjY291bnQgJiBPd25lcnNoaXBcbiAgQUNDT1VOVCA9IFwiQUNDT1VOVFwiLFxuICBBQ0NPVU5UX09XTkVSU0hJUCA9IFwiQUNDT1VOVF9PV05FUlNISVBcIixcbiAgQUNDT1VOVF9QUkVGRVJFTkNFUyA9IFwiQUNDT1VOVF9QUkVGRVJFTkNFU1wiLFxuXG4gIC8vIFVzZXIgJiBDb250YWN0XG4gIFVTRVIgPSBcIlVTRVJcIixcbiAgQ09OVEFDVCA9IFwiQ09OVEFDVFwiLFxuXG4gIC8vIFBhdGllbnQgcmVzb3VyY2VzXG4gIFBBVElFTlQgPSBcIlBBVElFTlRcIixcbiAgUEFUSUVOVF9NRURJQ0FMX05PVEVTID0gXCJQQVRJRU5UX01FRElDQUxfTk9URVNcIixcbiAgUEFUSUVOVF9NRURJQ0FMX1BST1BFUlRJRVMgPSBcIlBBVElFTlRfTUVESUNBTF9QUk9QRVJUSUVTXCIsXG4gIFBBVElFTlRfUFVCTElDX1BST1BFUlRJRVMgPSBcIlBBVElFTlRfUFVCTElDX1BST1BFUlRJRVNcIixcbiAgUEFUSUVOVF9QQVlNRU5UID0gXCJQQVRJRU5UX1BBWU1FTlRcIixcblxuICAvLyBNZWRpY2FsIFNlcnZpY2VcbiAgTUVESUNBTF9TRVJWSUNFID0gXCJNRURJQ0FMX1NFUlZJQ0VcIixcbiAgTUVESUNBTF9TRVJWSUNFX05PVEUgPSBcIk1FRElDQUxfU0VSVklDRV9OT1RFXCIsXG4gIE1FRElDQUxfU0VSVklDRV9TQ0hFRFVMRSA9IFwiTUVESUNBTF9TRVJWSUNFX1NDSEVEVUxFXCIsXG4gIE1FRElDQUxfU0VSVklDRV9GRUVTID0gXCJNRURJQ0FMX1NFUlZJQ0VfRkVFU1wiLFxuICBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTID0gXCJNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTXCIsXG5cbiAgLy8gTWVkaWNhbCByZXNvdXJjZXNcbiAgTUVESUNBTF9OT1RFID0gXCJNRURJQ0FMX05PVEVcIixcbiAgTUVESUNBTF9SRUNPUkQgPSBcIk1FRElDQUxfUkVDT1JEXCIsXG4gIE1FRElDQUxfSElTVE9SWSA9IFwiTUVESUNBTF9ISVNUT1JZXCIsXG4gIE1FRElDQUxfSElTVE9SWV9NT0RFTCA9IFwiTUVESUNBTF9ISVNUT1JZX01PREVMXCIsXG4gIFBSRVNDUklQVElPTiA9IFwiUFJFU0NSSVBUSU9OXCIsXG4gIERJQUdOT1NJUyA9IFwiRElBR05PU0lTXCIsXG4gIE9CU0VSVkFUSU9OID0gXCJPQlNFUlZBVElPTlwiLFxuICBNRURJQ0FUSU9OID0gXCJNRURJQ0FUSU9OXCIsXG4gIEFMTEVSR1kgPSBcIkFMTEVSR1lcIixcbiAgSU1NVU5JWkFUSU9OID0gXCJJTU1VTklaQVRJT05cIixcbiAgUFJPQ0VEVVJFID0gXCJQUk9DRURVUkVcIixcblxuICAvLyBDbGluaWNhbCAmIE1lYXN1cmVtZW50c1xuICBDTElOSUNBTF9OT1RFID0gXCJDTElOSUNBTF9OT1RFXCIsXG4gIFZJVEFMX1NJR05TID0gXCJWSVRBTF9TSUdOU1wiLFxuICBNRUFTVVJFX01PREVMID0gXCJNRUFTVVJFX01PREVMXCIsXG4gIENBTENVTEFURURfTUVBU1VSRV9NT0RFTCA9IFwiQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMXCIsXG5cbiAgLy8gRG9jdW1lbnRzXG4gIFVQTE9BREVEX0RPQ1VNRU5UID0gXCJVUExPQURFRF9ET0NVTUVOVFwiLFxuICBET0NVTUVOVF9MQVlPVVQgPSBcIkRPQ1VNRU5UX0xBWU9VVFwiLFxuICBHRU5FUkFURURfRE9DVU1FTlQgPSBcIkdFTkVSQVRFRF9ET0NVTUVOVFwiLFxuICBET0NVTUVOVF9NT0RFTCA9IFwiRE9DVU1FTlRfTU9ERUxcIixcbiAgU05JUFBFVCA9IFwiU05JUFBFVFwiLFxuXG4gIC8vIFNjaGVkdWxpbmcgJiBMb2NhdGlvblxuICBMT0NBVElPTiA9IFwiTE9DQVRJT05cIixcbiAgVEFTS19UWVBFID0gXCJUQVNLX1RZUEVcIixcblxuICAvLyBEaWFnbm9zdGljXG4gIExBQl9SRVNVTFQgPSBcIkxBQl9SRVNVTFRcIixcbiAgSU1BR0lORyA9IFwiSU1BR0lOR1wiLFxuXG4gIC8vIE1lbWJlcnNoaXAgJiBTZXR0aW5nc1xuICBNRU1CRVJTSElQID0gXCJNRU1CRVJTSElQXCIsXG4gIFNFVFRJTkdTID0gXCJTRVRUSU5HU1wiLFxuXG4gIC8vIFN5c3RlbVxuICBOT1RJRklDQVRJT04gPSBcIk5PVElGSUNBVElPTlwiLFxuICBSRVBPUlQgPSBcIlJFUE9SVFwiLFxuICBBVURJVF9MT0cgPSBcIkFVRElUX0xPR1wiLFxuICBTWVNURU0gPSBcIlNZU1RFTVwiLFxuXG4gIC8vIEdlbmVyaWMgcmVzb3VyY2VzXG4gIFBVQkxJQ19SRVNPVVJDRSA9IFwiUFVCTElDX1JFU09VUkNFXCIsXG4gIE1FRElDQUxfUkVTT1VSQ0UgPSBcIk1FRElDQUxfUkVTT1VSQ0VcIixcbn1cblxuLyoqXG4gKiBNZWRpY2FsIHJlc291cmNlcyAtIHJlcXVpcmUgc3BlY2lhbCBhY2Nlc3MgY29udHJvbFxuICovXG5leHBvcnQgY29uc3QgTUVESUNBTF9SRVNPVVJDRVM6IFJlc291cmNlW10gPSBbXG4gIFJlc291cmNlLlBBVElFTlQsXG4gIFJlc291cmNlLlBBVElFTlRfTUVESUNBTF9OT1RFUyxcbiAgUmVzb3VyY2UuUEFUSUVOVF9NRURJQ0FMX1BST1BFUlRJRVMsXG4gIFJlc291cmNlLlBBVElFTlRfUEFZTUVOVCxcbiAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfTk9URSxcbiAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX1NDSEVEVUxFLFxuICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfRkVFUyxcbiAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX1NUQVRVUyxcbiAgUmVzb3VyY2UuTUVESUNBTF9OT1RFLFxuICBSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCxcbiAgUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLFxuICBSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUllfTU9ERUwsXG4gIFJlc291cmNlLlBSRVNDUklQVElPTixcbiAgUmVzb3VyY2UuRElBR05PU0lTLFxuICBSZXNvdXJjZS5PQlNFUlZBVElPTixcbiAgUmVzb3VyY2UuTUVESUNBVElPTixcbiAgUmVzb3VyY2UuQUxMRVJHWSxcbiAgUmVzb3VyY2UuSU1NVU5JWkFUSU9OLFxuICBSZXNvdXJjZS5QUk9DRURVUkUsXG4gIFJlc291cmNlLkNMSU5JQ0FMX05PVEUsXG4gIFJlc291cmNlLlZJVEFMX1NJR05TLFxuICBSZXNvdXJjZS5NRUFTVVJFX01PREVMLFxuICBSZXNvdXJjZS5DQUxDVUxBVEVEX01FQVNVUkVfTU9ERUwsXG4gIFJlc291cmNlLkxBQl9SRVNVTFQsXG4gIFJlc291cmNlLklNQUdJTkcsXG4gIFJlc291cmNlLk1FRElDQUxfUkVTT1VSQ0UsXG5dO1xuXG4vKipcbiAqIFB1YmxpYyByZXNvdXJjZXMgLSBzdGFuZGFyZCBhY2Nlc3MgY29udHJvbFxuICovXG5leHBvcnQgY29uc3QgUFVCTElDX1JFU09VUkNFUzogUmVzb3VyY2VbXSA9IFtcbiAgUmVzb3VyY2UuQUNDT1VOVCxcbiAgUmVzb3VyY2UuQUNDT1VOVF9PV05FUlNISVAsXG4gIFJlc291cmNlLkFDQ09VTlRfUFJFRkVSRU5DRVMsXG4gIFJlc291cmNlLlVTRVIsXG4gIFJlc291cmNlLkNPTlRBQ1QsXG4gIFJlc291cmNlLlBBVElFTlRfUFVCTElDX1BST1BFUlRJRVMsXG4gIFJlc291cmNlLlVQTE9BREVEX0RPQ1VNRU5ULFxuICBSZXNvdXJjZS5ET0NVTUVOVF9MQVlPVVQsXG4gIFJlc291cmNlLkdFTkVSQVRFRF9ET0NVTUVOVCxcbiAgUmVzb3VyY2UuRE9DVU1FTlRfTU9ERUwsXG4gIFJlc291cmNlLlNOSVBQRVQsXG4gIFJlc291cmNlLkxPQ0FUSU9OLFxuICBSZXNvdXJjZS5UQVNLX1RZUEUsXG4gIFJlc291cmNlLk1FTUJFUlNISVAsXG4gIFJlc291cmNlLlNFVFRJTkdTLFxuICBSZXNvdXJjZS5OT1RJRklDQVRJT04sXG4gIFJlc291cmNlLlJFUE9SVCxcbiAgUmVzb3VyY2UuQVVESVRfTE9HLFxuICBSZXNvdXJjZS5TWVNURU0sXG4gIFJlc291cmNlLlBVQkxJQ19SRVNPVVJDRSxcbl07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSByZXNvdXJjZSBpcyBtZWRpY2FsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01lZGljYWxSZXNvdXJjZShyZXNvdXJjZTogUmVzb3VyY2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIE1FRElDQUxfUkVTT1VSQ0VTLmluY2x1ZGVzKHJlc291cmNlKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHJlc291cmNlIGlzIHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQdWJsaWNSZXNvdXJjZShyZXNvdXJjZTogUmVzb3VyY2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIFBVQkxJQ19SRVNPVVJDRVMuaW5jbHVkZXMocmVzb3VyY2UpO1xufVxuIl19
|
package/lib/ssm/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEnvAgnostic = exports.extractKeyFromPath = exports.extractEnvFromPath = exports.buildSSMPathWithPrefix = exports.buildSSMPath = exports.SSM_PARAM_KEY = void 0;
|
|
4
|
+
var keys_1 = require("./keys");
|
|
5
|
+
Object.defineProperty(exports, "SSM_PARAM_KEY", { enumerable: true, get: function () { return keys_1.SSM_PARAM_KEY; } });
|
|
6
|
+
var utils_1 = require("./utils");
|
|
7
|
+
Object.defineProperty(exports, "buildSSMPath", { enumerable: true, get: function () { return utils_1.buildSSMPath; } });
|
|
8
|
+
Object.defineProperty(exports, "buildSSMPathWithPrefix", { enumerable: true, get: function () { return utils_1.buildSSMPathWithPrefix; } });
|
|
9
|
+
Object.defineProperty(exports, "extractEnvFromPath", { enumerable: true, get: function () { return utils_1.extractEnvFromPath; } });
|
|
10
|
+
Object.defineProperty(exports, "extractKeyFromPath", { enumerable: true, get: function () { return utils_1.extractKeyFromPath; } });
|
|
11
|
+
Object.defineProperty(exports, "isEnvAgnostic", { enumerable: true, get: function () { return utils_1.isEnvAgnostic; } });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3NtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUF1QztBQUE5QixxR0FBQSxhQUFhLE9BQUE7QUFDdEIsaUNBTWlCO0FBTGYscUdBQUEsWUFBWSxPQUFBO0FBQ1osK0dBQUEsc0JBQXNCLE9BQUE7QUFDdEIsMkdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsMkdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsc0dBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU1NNX1BBUkFNX0tFWSB9IGZyb20gXCIuL2tleXNcIjtcbmV4cG9ydCB7XG4gIGJ1aWxkU1NNUGF0aCxcbiAgYnVpbGRTU01QYXRoV2l0aFByZWZpeCxcbiAgZXh0cmFjdEVudkZyb21QYXRoLFxuICBleHRyYWN0S2V5RnJvbVBhdGgsXG4gIGlzRW52QWdub3N0aWMsXG59IGZyb20gXCIuL3V0aWxzXCI7XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSM Parameter Store keys used across AWS stacks
|
|
3
|
+
*/
|
|
4
|
+
export declare enum SSM_PARAM_KEY {
|
|
5
|
+
COGNITO_USER_POOL_ID = "user-pool-id",
|
|
6
|
+
COGNITO_USER_POOL_WEB_CLIENT_ID = "user-pool-web-client-id",
|
|
7
|
+
COGNITO_OAUTH_DOMAIN = "oauth-domain",
|
|
8
|
+
RUM_GUEST_ROLE_ARN = "rum-guest-rome-arn",
|
|
9
|
+
RUM_IDENTITY_POOL_ID = "rum-identity-pool-id",
|
|
10
|
+
RUM_APP_ID = "rum-app-id",
|
|
11
|
+
GRAPHQL_HTTP_URL = "graphql-http-url",
|
|
12
|
+
GRAPHQL_WS_URL = "graphql-ws-url",
|
|
13
|
+
GRAPHQL_HOST = "graphql-host",
|
|
14
|
+
GRAPHQL_API_ID = "graphql-api-id",
|
|
15
|
+
MEDICAL_ASSETS_AWS_CLOUDFRONT_PRIVATE_KEY = "medical-assets-dist-private-key",
|
|
16
|
+
MEDICAL_ASSETS_AWS_CLOUDFRONT_KEY_ID = "medical-assets-dist-public-key-id",
|
|
17
|
+
MEDICAL_ASSETS_BUCKET_NAME = "medical-assets-bucket-name",
|
|
18
|
+
PUBLIC_ASSETS_BUCKET_NAME = "public-assets-bucket-name",
|
|
19
|
+
DB_USER = "db-user",
|
|
20
|
+
DB_PASSWORD = "db-password",
|
|
21
|
+
MEDICAL_ASSETS_DISTRIBUTION_DOMAIN_NAME = "medical-assets-dist-domain-name",
|
|
22
|
+
BASE_HOST = "base-host",
|
|
23
|
+
EMAIL_FROM_ADDRESS = "email-from-address",
|
|
24
|
+
EVENT_API_REAL_TIME_DNS = "event-api-real-time-dns",
|
|
25
|
+
EVENT_API_HTTP_DNS = "event-api-http-dns",
|
|
26
|
+
NOTIFIED_EVENT_ACTIONS = "notified-event-actions"
|
|
27
|
+
}
|
package/lib/ssm/keys.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SSM_PARAM_KEY = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* SSM Parameter Store keys used across AWS stacks
|
|
6
|
+
*/
|
|
7
|
+
var SSM_PARAM_KEY;
|
|
8
|
+
(function (SSM_PARAM_KEY) {
|
|
9
|
+
SSM_PARAM_KEY["COGNITO_USER_POOL_ID"] = "user-pool-id";
|
|
10
|
+
SSM_PARAM_KEY["COGNITO_USER_POOL_WEB_CLIENT_ID"] = "user-pool-web-client-id";
|
|
11
|
+
SSM_PARAM_KEY["COGNITO_OAUTH_DOMAIN"] = "oauth-domain";
|
|
12
|
+
SSM_PARAM_KEY["RUM_GUEST_ROLE_ARN"] = "rum-guest-rome-arn";
|
|
13
|
+
SSM_PARAM_KEY["RUM_IDENTITY_POOL_ID"] = "rum-identity-pool-id";
|
|
14
|
+
SSM_PARAM_KEY["RUM_APP_ID"] = "rum-app-id";
|
|
15
|
+
SSM_PARAM_KEY["GRAPHQL_HTTP_URL"] = "graphql-http-url";
|
|
16
|
+
SSM_PARAM_KEY["GRAPHQL_WS_URL"] = "graphql-ws-url";
|
|
17
|
+
SSM_PARAM_KEY["GRAPHQL_HOST"] = "graphql-host";
|
|
18
|
+
SSM_PARAM_KEY["GRAPHQL_API_ID"] = "graphql-api-id";
|
|
19
|
+
SSM_PARAM_KEY["MEDICAL_ASSETS_AWS_CLOUDFRONT_PRIVATE_KEY"] = "medical-assets-dist-private-key";
|
|
20
|
+
SSM_PARAM_KEY["MEDICAL_ASSETS_AWS_CLOUDFRONT_KEY_ID"] = "medical-assets-dist-public-key-id";
|
|
21
|
+
SSM_PARAM_KEY["MEDICAL_ASSETS_BUCKET_NAME"] = "medical-assets-bucket-name";
|
|
22
|
+
SSM_PARAM_KEY["PUBLIC_ASSETS_BUCKET_NAME"] = "public-assets-bucket-name";
|
|
23
|
+
SSM_PARAM_KEY["DB_USER"] = "db-user";
|
|
24
|
+
SSM_PARAM_KEY["DB_PASSWORD"] = "db-password";
|
|
25
|
+
SSM_PARAM_KEY["MEDICAL_ASSETS_DISTRIBUTION_DOMAIN_NAME"] = "medical-assets-dist-domain-name";
|
|
26
|
+
SSM_PARAM_KEY["BASE_HOST"] = "base-host";
|
|
27
|
+
SSM_PARAM_KEY["EMAIL_FROM_ADDRESS"] = "email-from-address";
|
|
28
|
+
SSM_PARAM_KEY["EVENT_API_REAL_TIME_DNS"] = "event-api-real-time-dns";
|
|
29
|
+
SSM_PARAM_KEY["EVENT_API_HTTP_DNS"] = "event-api-http-dns";
|
|
30
|
+
SSM_PARAM_KEY["NOTIFIED_EVENT_ACTIONS"] = "notified-event-actions";
|
|
31
|
+
})(SSM_PARAM_KEY || (exports.SSM_PARAM_KEY = SSM_PARAM_KEY = {}));
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc20va2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILElBQVksYUF1Qlg7QUF2QkQsV0FBWSxhQUFhO0lBQ3ZCLHNEQUFxQyxDQUFBO0lBQ3JDLDRFQUEyRCxDQUFBO0lBQzNELHNEQUFxQyxDQUFBO0lBQ3JDLDBEQUF5QyxDQUFBO0lBQ3pDLDhEQUE2QyxDQUFBO0lBQzdDLDBDQUF5QixDQUFBO0lBQ3pCLHNEQUFxQyxDQUFBO0lBQ3JDLGtEQUFpQyxDQUFBO0lBQ2pDLDhDQUE2QixDQUFBO0lBQzdCLGtEQUFpQyxDQUFBO0lBQ2pDLDhGQUE2RSxDQUFBO0lBQzdFLDJGQUEwRSxDQUFBO0lBQzFFLDBFQUF5RCxDQUFBO0lBQ3pELHdFQUF1RCxDQUFBO0lBQ3ZELG9DQUFtQixDQUFBO0lBQ25CLDRDQUEyQixDQUFBO0lBQzNCLDRGQUEyRSxDQUFBO0lBQzNFLHdDQUF1QixDQUFBO0lBQ3ZCLDBEQUF5QyxDQUFBO0lBQ3pDLG9FQUFtRCxDQUFBO0lBQ25ELDBEQUF5QyxDQUFBO0lBQ3pDLGtFQUFpRCxDQUFBO0FBQ25ELENBQUMsRUF2QlcsYUFBYSw2QkFBYixhQUFhLFFBdUJ4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU1NNIFBhcmFtZXRlciBTdG9yZSBrZXlzIHVzZWQgYWNyb3NzIEFXUyBzdGFja3NcbiAqL1xuZXhwb3J0IGVudW0gU1NNX1BBUkFNX0tFWSB7XG4gIENPR05JVE9fVVNFUl9QT09MX0lEID0gXCJ1c2VyLXBvb2wtaWRcIixcbiAgQ09HTklUT19VU0VSX1BPT0xfV0VCX0NMSUVOVF9JRCA9IFwidXNlci1wb29sLXdlYi1jbGllbnQtaWRcIixcbiAgQ09HTklUT19PQVVUSF9ET01BSU4gPSBcIm9hdXRoLWRvbWFpblwiLFxuICBSVU1fR1VFU1RfUk9MRV9BUk4gPSBcInJ1bS1ndWVzdC1yb21lLWFyblwiLFxuICBSVU1fSURFTlRJVFlfUE9PTF9JRCA9IFwicnVtLWlkZW50aXR5LXBvb2wtaWRcIixcbiAgUlVNX0FQUF9JRCA9IFwicnVtLWFwcC1pZFwiLFxuICBHUkFQSFFMX0hUVFBfVVJMID0gXCJncmFwaHFsLWh0dHAtdXJsXCIsXG4gIEdSQVBIUUxfV1NfVVJMID0gXCJncmFwaHFsLXdzLXVybFwiLFxuICBHUkFQSFFMX0hPU1QgPSBcImdyYXBocWwtaG9zdFwiLFxuICBHUkFQSFFMX0FQSV9JRCA9IFwiZ3JhcGhxbC1hcGktaWRcIixcbiAgTUVESUNBTF9BU1NFVFNfQVdTX0NMT1VERlJPTlRfUFJJVkFURV9LRVkgPSBcIm1lZGljYWwtYXNzZXRzLWRpc3QtcHJpdmF0ZS1rZXlcIixcbiAgTUVESUNBTF9BU1NFVFNfQVdTX0NMT1VERlJPTlRfS0VZX0lEID0gXCJtZWRpY2FsLWFzc2V0cy1kaXN0LXB1YmxpYy1rZXktaWRcIixcbiAgTUVESUNBTF9BU1NFVFNfQlVDS0VUX05BTUUgPSBcIm1lZGljYWwtYXNzZXRzLWJ1Y2tldC1uYW1lXCIsXG4gIFBVQkxJQ19BU1NFVFNfQlVDS0VUX05BTUUgPSBcInB1YmxpYy1hc3NldHMtYnVja2V0LW5hbWVcIixcbiAgREJfVVNFUiA9IFwiZGItdXNlclwiLFxuICBEQl9QQVNTV09SRCA9IFwiZGItcGFzc3dvcmRcIixcbiAgTUVESUNBTF9BU1NFVFNfRElTVFJJQlVUSU9OX0RPTUFJTl9OQU1FID0gXCJtZWRpY2FsLWFzc2V0cy1kaXN0LWRvbWFpbi1uYW1lXCIsXG4gIEJBU0VfSE9TVCA9IFwiYmFzZS1ob3N0XCIsXG4gIEVNQUlMX0ZST01fQUREUkVTUyA9IFwiZW1haWwtZnJvbS1hZGRyZXNzXCIsXG4gIEVWRU5UX0FQSV9SRUFMX1RJTUVfRE5TID0gXCJldmVudC1hcGktcmVhbC10aW1lLWRuc1wiLFxuICBFVkVOVF9BUElfSFRUUF9ETlMgPSBcImV2ZW50LWFwaS1odHRwLWRuc1wiLFxuICBOT1RJRklFRF9FVkVOVF9BQ1RJT05TID0gXCJub3RpZmllZC1ldmVudC1hY3Rpb25zXCIsXG59XG4iXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SSM_PARAM_KEY } from "./keys";
|
|
2
|
+
/**
|
|
3
|
+
* Build SSM parameter path with optional environment prefix
|
|
4
|
+
* @param env - Environment name (e.g., 'dev', 'staging', 'prod'), or null for env-agnostic parameters
|
|
5
|
+
* @param key - SSM parameter key
|
|
6
|
+
* @returns Full SSM parameter path
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* buildSSMPath('prod', SSM_PARAM_KEY.COGNITO_USER_POOL_ID)
|
|
11
|
+
* // Returns: '/prod/user-pool-id'
|
|
12
|
+
*
|
|
13
|
+
* buildSSMPath(null, SSM_PARAM_KEY.DB_USER)
|
|
14
|
+
* // Returns: '/db-user' (env-agnostic)
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildSSMPath(env: string | null, key: SSM_PARAM_KEY): string;
|
|
18
|
+
/**
|
|
19
|
+
* Build SSM parameter path with custom prefix
|
|
20
|
+
* @param prefix - Custom prefix (e.g., '/myapp/prod')
|
|
21
|
+
* @param key - SSM parameter key
|
|
22
|
+
* @returns Full SSM parameter path
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* buildSSMPathWithPrefix('/myapp/prod', SSM_PARAM_KEY.DB_USER)
|
|
27
|
+
* // Returns: '/myapp/prod/db-user'
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildSSMPathWithPrefix(prefix: string, key: SSM_PARAM_KEY): string;
|
|
31
|
+
/**
|
|
32
|
+
* Extract environment from SSM parameter path
|
|
33
|
+
* @param path - SSM parameter path
|
|
34
|
+
* @returns Environment name or null if env-agnostic or not found
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* extractEnvFromPath('/prod/user-pool-id')
|
|
39
|
+
* // Returns: 'prod'
|
|
40
|
+
*
|
|
41
|
+
* extractEnvFromPath('/db-user')
|
|
42
|
+
* // Returns: null (env-agnostic parameter)
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function extractEnvFromPath(path: string): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Parse SSM parameter path to extract key
|
|
48
|
+
* @param path - SSM parameter path
|
|
49
|
+
* @returns SSM parameter key or null if not found
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* extractKeyFromPath('/prod/user-pool-id')
|
|
54
|
+
* // Returns: SSM_PARAM_KEY.COGNITO_USER_POOL_ID
|
|
55
|
+
*
|
|
56
|
+
* extractKeyFromPath('/db-user')
|
|
57
|
+
* // Returns: SSM_PARAM_KEY.DB_USER (env-agnostic)
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function extractKeyFromPath(path: string): SSM_PARAM_KEY | null;
|
|
61
|
+
/**
|
|
62
|
+
* Check if an SSM parameter path is environment-agnostic
|
|
63
|
+
* @param path - SSM parameter path
|
|
64
|
+
* @returns true if the path is env-agnostic (no environment prefix)
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* isEnvAgnostic('/db-user')
|
|
69
|
+
* // Returns: true
|
|
70
|
+
*
|
|
71
|
+
* isEnvAgnostic('/prod/user-pool-id')
|
|
72
|
+
* // Returns: false
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function isEnvAgnostic(path: string): boolean;
|