@doctorus/common 0.0.41 → 0.0.43
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 +2 -2
- package/lib/operations/actions.d.ts +25 -53
- package/lib/operations/actions.js +57 -55
- package/lib/operations/index.d.ts +3 -3
- package/lib/operations/index.js +26 -7
- package/lib/operations/labels.d.ts +2 -1
- package/lib/operations/labels.js +58 -118
- package/lib/operations/predefined.d.ts +92 -87
- package/lib/operations/predefined.js +99 -94
- package/lib/operations/resource-actions.d.ts +13 -0
- package/lib/operations/resource-actions.js +93 -0
- package/lib/operations/resources.d.ts +41 -24
- package/lib/operations/resources.js +87 -50
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,10 +51,10 @@ Defines typed actions, resources, and `Operation` pairs used for authorization,
|
|
|
51
51
|
```ts
|
|
52
52
|
import { Action, Operation, Resource, getOperationLabel } from '@doctorus/common';
|
|
53
53
|
|
|
54
|
-
const operation = new Operation(
|
|
54
|
+
const operation = new Operation(Resource.PRESCRIPTION, Action.CREATE);
|
|
55
55
|
|
|
56
56
|
getOperationLabel(operation, 'us-EN'); // "Create Prescription"
|
|
57
|
-
getOperationLabel(operation, 'fr-FR'); // "
|
|
57
|
+
getOperationLabel(operation, 'fr-FR'); // "Creer Ordonnance"
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
[Operations documentation](src/operations/README.md)
|
|
@@ -1,61 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Action types
|
|
3
|
-
*
|
|
4
|
-
* The GraphQL schema's ActionType enum is intentionally not treated as the
|
|
5
|
-
* source of truth here. This package keeps a richer application-level action
|
|
6
|
-
* vocabulary for authorization, audit logging, and UI labels.
|
|
2
|
+
* Action types aligned with the permission catalog architecture.
|
|
7
3
|
*/
|
|
8
4
|
export declare enum Action {
|
|
9
5
|
CREATE = "CREATE",
|
|
10
|
-
READ = "READ",
|
|
11
|
-
DELETE = "DELETE",
|
|
12
|
-
RETRIEVE = "RETRIEVE",
|
|
13
|
-
UPDATE = "UPDATE",
|
|
14
|
-
PUT = "PUT",
|
|
15
|
-
LIST = "LIST",
|
|
16
|
-
MANAGE = "MANAGE",
|
|
17
6
|
VIEW = "VIEW",
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
PRESCRIBE = "PRESCRIBE",
|
|
22
|
-
DIAGNOSE = "DIAGNOSE",
|
|
23
|
-
SCHEDULE = "SCHEDULE",
|
|
7
|
+
UPDATE = "UPDATE",
|
|
8
|
+
DELETE = "DELETE",
|
|
9
|
+
ASSIGN = "ASSIGN",
|
|
24
10
|
CANCEL = "CANCEL",
|
|
25
|
-
APPROVE = "APPROVE",
|
|
26
|
-
REJECT = "REJECT",
|
|
27
|
-
SIGN = "SIGN",
|
|
28
|
-
VERIFY = "VERIFY",
|
|
29
|
-
RECOVER = "RECOVER",
|
|
30
|
-
DISABLE = "DISABLE",
|
|
31
|
-
SET_MEDICAL_SERVICE_STATUS = "SET_MEDICAL_SERVICE_STATUS",
|
|
32
|
-
SET_MEDICAL_SERVICE_FEES = "SET_MEDICAL_SERVICE_FEES",
|
|
33
11
|
CHECK_IN = "CHECK_IN",
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
SHARE = "SHARE",
|
|
52
|
-
DOWNLOAD = "DOWNLOAD",
|
|
53
|
-
UPLOAD = "UPLOAD",
|
|
54
|
-
ENABLE_CALENDAR_SYNC = "ENABLE_CALENDAR_SYNC",
|
|
55
|
-
DISABLE_CALENDAR_SYNC = "DISABLE_CALENDAR_SYNC",
|
|
56
|
-
REGENERATE_CALENDAR_LINK = "REGENERATE_CALENDAR_LINK",
|
|
57
|
-
LOGIN = "LOGIN",
|
|
58
|
-
LOGOUT = "LOGOUT",
|
|
59
|
-
CONFIGURE = "CONFIGURE",
|
|
60
|
-
AUDIT = "AUDIT"
|
|
12
|
+
COMPLETE = "COMPLETE",
|
|
13
|
+
DISABLE = "DISABLE",
|
|
14
|
+
ENABLE = "ENABLE",
|
|
15
|
+
GENERATE = "GENERATE",
|
|
16
|
+
INVITE = "INVITE",
|
|
17
|
+
REMOVE = "REMOVE",
|
|
18
|
+
ROTATE = "ROTATE",
|
|
19
|
+
TRANSFER_OWNERSHIP = "TRANSFER_OWNERSHIP"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Access level classification for actions.
|
|
23
|
+
* - READ: does not modify domain state
|
|
24
|
+
* - WRITE: modifies domain state
|
|
25
|
+
*/
|
|
26
|
+
export declare enum ActionAccess {
|
|
27
|
+
READ = "READ",
|
|
28
|
+
WRITE = "WRITE"
|
|
61
29
|
}
|
|
30
|
+
export declare function getActionAccess(action: Action): ActionAccess;
|
|
31
|
+
export declare function isReadAction(action: Action): boolean;
|
|
32
|
+
export declare function isWriteAction(action: Action): boolean;
|
|
33
|
+
export declare function getActionsByAccess(access: ActionAccess): Action[];
|
|
@@ -1,66 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Action = void 0;
|
|
3
|
+
exports.ActionAccess = exports.Action = void 0;
|
|
4
|
+
exports.getActionAccess = getActionAccess;
|
|
5
|
+
exports.isReadAction = isReadAction;
|
|
6
|
+
exports.isWriteAction = isWriteAction;
|
|
7
|
+
exports.getActionsByAccess = getActionsByAccess;
|
|
4
8
|
/**
|
|
5
|
-
* Action types
|
|
6
|
-
*
|
|
7
|
-
* The GraphQL schema's ActionType enum is intentionally not treated as the
|
|
8
|
-
* source of truth here. This package keeps a richer application-level action
|
|
9
|
-
* vocabulary for authorization, audit logging, and UI labels.
|
|
9
|
+
* Action types aligned with the permission catalog architecture.
|
|
10
10
|
*/
|
|
11
11
|
var Action;
|
|
12
12
|
(function (Action) {
|
|
13
13
|
Action["CREATE"] = "CREATE";
|
|
14
|
-
Action["READ"] = "READ";
|
|
15
|
-
Action["DELETE"] = "DELETE";
|
|
16
|
-
Action["RETRIEVE"] = "RETRIEVE";
|
|
17
|
-
Action["UPDATE"] = "UPDATE";
|
|
18
|
-
Action["PUT"] = "PUT";
|
|
19
|
-
Action["LIST"] = "LIST";
|
|
20
|
-
Action["MANAGE"] = "MANAGE";
|
|
21
14
|
Action["VIEW"] = "VIEW";
|
|
22
|
-
Action["
|
|
23
|
-
Action["
|
|
24
|
-
Action["
|
|
25
|
-
Action["PRESCRIBE"] = "PRESCRIBE";
|
|
26
|
-
Action["DIAGNOSE"] = "DIAGNOSE";
|
|
27
|
-
Action["SCHEDULE"] = "SCHEDULE";
|
|
15
|
+
Action["UPDATE"] = "UPDATE";
|
|
16
|
+
Action["DELETE"] = "DELETE";
|
|
17
|
+
Action["ASSIGN"] = "ASSIGN";
|
|
28
18
|
Action["CANCEL"] = "CANCEL";
|
|
29
|
-
Action["APPROVE"] = "APPROVE";
|
|
30
|
-
Action["REJECT"] = "REJECT";
|
|
31
|
-
Action["SIGN"] = "SIGN";
|
|
32
|
-
Action["VERIFY"] = "VERIFY";
|
|
33
|
-
Action["RECOVER"] = "RECOVER";
|
|
34
|
-
Action["DISABLE"] = "DISABLE";
|
|
35
|
-
Action["SET_MEDICAL_SERVICE_STATUS"] = "SET_MEDICAL_SERVICE_STATUS";
|
|
36
|
-
Action["SET_MEDICAL_SERVICE_FEES"] = "SET_MEDICAL_SERVICE_FEES";
|
|
37
19
|
Action["CHECK_IN"] = "CHECK_IN";
|
|
38
|
-
Action["
|
|
39
|
-
Action["
|
|
40
|
-
Action["
|
|
41
|
-
Action["
|
|
42
|
-
Action["
|
|
43
|
-
Action["
|
|
44
|
-
Action["
|
|
45
|
-
Action["
|
|
46
|
-
Action["CORRECT_TIMESTAMPS"] = "CORRECT_TIMESTAMPS";
|
|
47
|
-
Action["UPDATE_STATUS"] = "UPDATE_STATUS";
|
|
48
|
-
Action["VIEW_PATIENTS"] = "VIEW_PATIENTS";
|
|
49
|
-
Action["PUT_PATIENT_PAYMENT"] = "PUT_PATIENT_PAYMENT";
|
|
50
|
-
Action["DELETE_PATIENT_PAYMENT"] = "DELETE_PATIENT_PAYMENT";
|
|
51
|
-
Action["EXPORT"] = "EXPORT";
|
|
52
|
-
Action["IMPORT"] = "IMPORT";
|
|
53
|
-
Action["ARCHIVE"] = "ARCHIVE";
|
|
54
|
-
Action["RESTORE"] = "RESTORE";
|
|
55
|
-
Action["SHARE"] = "SHARE";
|
|
56
|
-
Action["DOWNLOAD"] = "DOWNLOAD";
|
|
57
|
-
Action["UPLOAD"] = "UPLOAD";
|
|
58
|
-
Action["ENABLE_CALENDAR_SYNC"] = "ENABLE_CALENDAR_SYNC";
|
|
59
|
-
Action["DISABLE_CALENDAR_SYNC"] = "DISABLE_CALENDAR_SYNC";
|
|
60
|
-
Action["REGENERATE_CALENDAR_LINK"] = "REGENERATE_CALENDAR_LINK";
|
|
61
|
-
Action["LOGIN"] = "LOGIN";
|
|
62
|
-
Action["LOGOUT"] = "LOGOUT";
|
|
63
|
-
Action["CONFIGURE"] = "CONFIGURE";
|
|
64
|
-
Action["AUDIT"] = "AUDIT";
|
|
20
|
+
Action["COMPLETE"] = "COMPLETE";
|
|
21
|
+
Action["DISABLE"] = "DISABLE";
|
|
22
|
+
Action["ENABLE"] = "ENABLE";
|
|
23
|
+
Action["GENERATE"] = "GENERATE";
|
|
24
|
+
Action["INVITE"] = "INVITE";
|
|
25
|
+
Action["REMOVE"] = "REMOVE";
|
|
26
|
+
Action["ROTATE"] = "ROTATE";
|
|
27
|
+
Action["TRANSFER_OWNERSHIP"] = "TRANSFER_OWNERSHIP";
|
|
65
28
|
})(Action || (exports.Action = Action = {}));
|
|
66
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Access level classification for actions.
|
|
31
|
+
* - READ: does not modify domain state
|
|
32
|
+
* - WRITE: modifies domain state
|
|
33
|
+
*/
|
|
34
|
+
var ActionAccess;
|
|
35
|
+
(function (ActionAccess) {
|
|
36
|
+
ActionAccess["READ"] = "READ";
|
|
37
|
+
ActionAccess["WRITE"] = "WRITE";
|
|
38
|
+
})(ActionAccess || (exports.ActionAccess = ActionAccess = {}));
|
|
39
|
+
const ACTION_ACCESS = {
|
|
40
|
+
[Action.CREATE]: ActionAccess.WRITE,
|
|
41
|
+
[Action.VIEW]: ActionAccess.READ,
|
|
42
|
+
[Action.UPDATE]: ActionAccess.WRITE,
|
|
43
|
+
[Action.DELETE]: ActionAccess.WRITE,
|
|
44
|
+
[Action.ASSIGN]: ActionAccess.WRITE,
|
|
45
|
+
[Action.CANCEL]: ActionAccess.WRITE,
|
|
46
|
+
[Action.CHECK_IN]: ActionAccess.WRITE,
|
|
47
|
+
[Action.COMPLETE]: ActionAccess.WRITE,
|
|
48
|
+
[Action.DISABLE]: ActionAccess.WRITE,
|
|
49
|
+
[Action.ENABLE]: ActionAccess.WRITE,
|
|
50
|
+
[Action.GENERATE]: ActionAccess.WRITE,
|
|
51
|
+
[Action.INVITE]: ActionAccess.WRITE,
|
|
52
|
+
[Action.REMOVE]: ActionAccess.WRITE,
|
|
53
|
+
[Action.ROTATE]: ActionAccess.WRITE,
|
|
54
|
+
[Action.TRANSFER_OWNERSHIP]: ActionAccess.WRITE,
|
|
55
|
+
};
|
|
56
|
+
function getActionAccess(action) {
|
|
57
|
+
return ACTION_ACCESS[action];
|
|
58
|
+
}
|
|
59
|
+
function isReadAction(action) {
|
|
60
|
+
return ACTION_ACCESS[action] === ActionAccess.READ;
|
|
61
|
+
}
|
|
62
|
+
function isWriteAction(action) {
|
|
63
|
+
return ACTION_ACCESS[action] === ActionAccess.WRITE;
|
|
64
|
+
}
|
|
65
|
+
function getActionsByAccess(access) {
|
|
66
|
+
return Object.values(Action).filter((action) => ACTION_ACCESS[action] === access);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaURBLDBDQUVDO0FBRUQsb0NBRUM7QUFFRCxzQ0FFQztBQUVELGdEQUVDO0FBL0REOztHQUVHO0FBQ0gsSUFBWSxNQWdCWDtBQWhCRCxXQUFZLE1BQU07SUFDaEIsMkJBQWlCLENBQUE7SUFDakIsdUJBQWEsQ0FBQTtJQUNiLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLCtCQUFxQixDQUFBO0lBQ3JCLCtCQUFxQixDQUFBO0lBQ3JCLDZCQUFtQixDQUFBO0lBQ25CLDJCQUFpQixDQUFBO0lBQ2pCLCtCQUFxQixDQUFBO0lBQ3JCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLG1EQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFoQlcsTUFBTSxzQkFBTixNQUFNLFFBZ0JqQjtBQUVEOzs7O0dBSUc7QUFDSCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLCtCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLFlBQVksNEJBQVosWUFBWSxRQUd2QjtBQUVELE1BQU0sYUFBYSxHQUFpQztJQUNsRCxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSTtJQUNoQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNyQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNyQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNwQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNyQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztJQUNuQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLO0NBQ2hELENBQUM7QUFFRixTQUFnQixlQUFlLENBQUMsTUFBYztJQUM1QyxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE1BQWM7SUFDekMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztBQUNyRCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLE1BQWM7SUFDMUMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBb0I7SUFDckQsT0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0FBQ2xHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFjdGlvbiB0eXBlcyBhbGlnbmVkIHdpdGggdGhlIHBlcm1pc3Npb24gY2F0YWxvZyBhcmNoaXRlY3R1cmUuXG4gKi9cbmV4cG9ydCBlbnVtIEFjdGlvbiB7XG4gIENSRUFURSA9ICdDUkVBVEUnLFxuICBWSUVXID0gJ1ZJRVcnLFxuICBVUERBVEUgPSAnVVBEQVRFJyxcbiAgREVMRVRFID0gJ0RFTEVURScsXG4gIEFTU0lHTiA9ICdBU1NJR04nLFxuICBDQU5DRUwgPSAnQ0FOQ0VMJyxcbiAgQ0hFQ0tfSU4gPSAnQ0hFQ0tfSU4nLFxuICBDT01QTEVURSA9ICdDT01QTEVURScsXG4gIERJU0FCTEUgPSAnRElTQUJMRScsXG4gIEVOQUJMRSA9ICdFTkFCTEUnLFxuICBHRU5FUkFURSA9ICdHRU5FUkFURScsXG4gIElOVklURSA9ICdJTlZJVEUnLFxuICBSRU1PVkUgPSAnUkVNT1ZFJyxcbiAgUk9UQVRFID0gJ1JPVEFURScsXG4gIFRSQU5TRkVSX09XTkVSU0hJUCA9ICdUUkFOU0ZFUl9PV05FUlNISVAnLFxufVxuXG4vKipcbiAqIEFjY2VzcyBsZXZlbCBjbGFzc2lmaWNhdGlvbiBmb3IgYWN0aW9ucy5cbiAqIC0gUkVBRDogZG9lcyBub3QgbW9kaWZ5IGRvbWFpbiBzdGF0ZVxuICogLSBXUklURTogbW9kaWZpZXMgZG9tYWluIHN0YXRlXG4gKi9cbmV4cG9ydCBlbnVtIEFjdGlvbkFjY2VzcyB7XG4gIFJFQUQgPSAnUkVBRCcsXG4gIFdSSVRFID0gJ1dSSVRFJyxcbn1cblxuY29uc3QgQUNUSU9OX0FDQ0VTUzogUmVjb3JkPEFjdGlvbiwgQWN0aW9uQWNjZXNzPiA9IHtcbiAgW0FjdGlvbi5DUkVBVEVdOiBBY3Rpb25BY2Nlc3MuV1JJVEUsXG4gIFtBY3Rpb24uVklFV106IEFjdGlvbkFjY2Vzcy5SRUFELFxuICBbQWN0aW9uLlVQREFURV06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5ERUxFVEVdOiBBY3Rpb25BY2Nlc3MuV1JJVEUsXG4gIFtBY3Rpb24uQVNTSUdOXTogQWN0aW9uQWNjZXNzLldSSVRFLFxuICBbQWN0aW9uLkNBTkNFTF06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5DSEVDS19JTl06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5DT01QTEVURV06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5ESVNBQkxFXTogQWN0aW9uQWNjZXNzLldSSVRFLFxuICBbQWN0aW9uLkVOQUJMRV06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5HRU5FUkFURV06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5JTlZJVEVdOiBBY3Rpb25BY2Nlc3MuV1JJVEUsXG4gIFtBY3Rpb24uUkVNT1ZFXTogQWN0aW9uQWNjZXNzLldSSVRFLFxuICBbQWN0aW9uLlJPVEFURV06IEFjdGlvbkFjY2Vzcy5XUklURSxcbiAgW0FjdGlvbi5UUkFOU0ZFUl9PV05FUlNISVBdOiBBY3Rpb25BY2Nlc3MuV1JJVEUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0aW9uQWNjZXNzKGFjdGlvbjogQWN0aW9uKTogQWN0aW9uQWNjZXNzIHtcbiAgcmV0dXJuIEFDVElPTl9BQ0NFU1NbYWN0aW9uXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVhZEFjdGlvbihhY3Rpb246IEFjdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gQUNUSU9OX0FDQ0VTU1thY3Rpb25dID09PSBBY3Rpb25BY2Nlc3MuUkVBRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV3JpdGVBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIEFDVElPTl9BQ0NFU1NbYWN0aW9uXSA9PT0gQWN0aW9uQWNjZXNzLldSSVRFO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0aW9uc0J5QWNjZXNzKGFjY2VzczogQWN0aW9uQWNjZXNzKTogQWN0aW9uW10ge1xuICByZXR1cm4gKE9iamVjdC52YWx1ZXMoQWN0aW9uKSBhcyBBY3Rpb25bXSkuZmlsdGVyKChhY3Rpb24pID0+IEFDVElPTl9BQ0NFU1NbYWN0aW9uXSA9PT0gYWNjZXNzKTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { Resource, MEDICAL_RESOURCES, PUBLIC_RESOURCES, isMedicalResource, isPublicResource } from './resources';
|
|
2
|
-
export { Action } from './actions';
|
|
1
|
+
export { Resource, ResourceCategory, MEDICAL_RESOURCES, PUBLIC_RESOURCES, CORE_RESOURCES, MEMBERSHIP_RESOURCES, CLINICAL_RESOURCES, DOCUMENT_RESOURCES, SETTINGS_RESOURCES, INTEGRATION_RESOURCES, SCHEDULING_RESOURCES, EXTERNAL_RESOURCES, SYSTEM_RESOURCES, isMedicalResource, isPublicResource, getResourceCategories, getResourcesByCategory, getResourcesByCategories, } from './resources';
|
|
2
|
+
export { Action, ActionAccess, getActionAccess, isReadAction, isWriteAction, getActionsByAccess } from './actions';
|
|
3
3
|
export { Operation, OPERATION, getResourceFromOperation, getActionFromOperation } from './operation';
|
|
4
|
+
export { getResourceActions, getAllResourceActions, getResourceActionsByAccess, getAllResourceActionsByAccess, generateOperationsForResources, } from './resource-actions';
|
|
4
5
|
export * from './labels';
|
|
5
|
-
export { Operations, getAllOperations, getOperationsByResource, getOperationsByAction } from './predefined';
|
package/lib/operations/index.js
CHANGED
|
@@ -14,23 +14,42 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.generateOperationsForResources = exports.getAllResourceActionsByAccess = exports.getResourceActionsByAccess = exports.getAllResourceActions = exports.getResourceActions = exports.getActionFromOperation = exports.getResourceFromOperation = exports.Operation = exports.getActionsByAccess = exports.isWriteAction = exports.isReadAction = exports.getActionAccess = exports.ActionAccess = exports.Action = exports.getResourcesByCategories = exports.getResourcesByCategory = exports.getResourceCategories = exports.isPublicResource = exports.isMedicalResource = exports.SYSTEM_RESOURCES = exports.EXTERNAL_RESOURCES = exports.SCHEDULING_RESOURCES = exports.INTEGRATION_RESOURCES = exports.SETTINGS_RESOURCES = exports.DOCUMENT_RESOURCES = exports.CLINICAL_RESOURCES = exports.MEMBERSHIP_RESOURCES = exports.CORE_RESOURCES = exports.PUBLIC_RESOURCES = exports.MEDICAL_RESOURCES = exports.ResourceCategory = exports.Resource = void 0;
|
|
18
18
|
var resources_1 = require("./resources");
|
|
19
19
|
Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return resources_1.Resource; } });
|
|
20
|
+
Object.defineProperty(exports, "ResourceCategory", { enumerable: true, get: function () { return resources_1.ResourceCategory; } });
|
|
20
21
|
Object.defineProperty(exports, "MEDICAL_RESOURCES", { enumerable: true, get: function () { return resources_1.MEDICAL_RESOURCES; } });
|
|
21
22
|
Object.defineProperty(exports, "PUBLIC_RESOURCES", { enumerable: true, get: function () { return resources_1.PUBLIC_RESOURCES; } });
|
|
23
|
+
Object.defineProperty(exports, "CORE_RESOURCES", { enumerable: true, get: function () { return resources_1.CORE_RESOURCES; } });
|
|
24
|
+
Object.defineProperty(exports, "MEMBERSHIP_RESOURCES", { enumerable: true, get: function () { return resources_1.MEMBERSHIP_RESOURCES; } });
|
|
25
|
+
Object.defineProperty(exports, "CLINICAL_RESOURCES", { enumerable: true, get: function () { return resources_1.CLINICAL_RESOURCES; } });
|
|
26
|
+
Object.defineProperty(exports, "DOCUMENT_RESOURCES", { enumerable: true, get: function () { return resources_1.DOCUMENT_RESOURCES; } });
|
|
27
|
+
Object.defineProperty(exports, "SETTINGS_RESOURCES", { enumerable: true, get: function () { return resources_1.SETTINGS_RESOURCES; } });
|
|
28
|
+
Object.defineProperty(exports, "INTEGRATION_RESOURCES", { enumerable: true, get: function () { return resources_1.INTEGRATION_RESOURCES; } });
|
|
29
|
+
Object.defineProperty(exports, "SCHEDULING_RESOURCES", { enumerable: true, get: function () { return resources_1.SCHEDULING_RESOURCES; } });
|
|
30
|
+
Object.defineProperty(exports, "EXTERNAL_RESOURCES", { enumerable: true, get: function () { return resources_1.EXTERNAL_RESOURCES; } });
|
|
31
|
+
Object.defineProperty(exports, "SYSTEM_RESOURCES", { enumerable: true, get: function () { return resources_1.SYSTEM_RESOURCES; } });
|
|
22
32
|
Object.defineProperty(exports, "isMedicalResource", { enumerable: true, get: function () { return resources_1.isMedicalResource; } });
|
|
23
33
|
Object.defineProperty(exports, "isPublicResource", { enumerable: true, get: function () { return resources_1.isPublicResource; } });
|
|
34
|
+
Object.defineProperty(exports, "getResourceCategories", { enumerable: true, get: function () { return resources_1.getResourceCategories; } });
|
|
35
|
+
Object.defineProperty(exports, "getResourcesByCategory", { enumerable: true, get: function () { return resources_1.getResourcesByCategory; } });
|
|
36
|
+
Object.defineProperty(exports, "getResourcesByCategories", { enumerable: true, get: function () { return resources_1.getResourcesByCategories; } });
|
|
24
37
|
var actions_1 = require("./actions");
|
|
25
38
|
Object.defineProperty(exports, "Action", { enumerable: true, get: function () { return actions_1.Action; } });
|
|
39
|
+
Object.defineProperty(exports, "ActionAccess", { enumerable: true, get: function () { return actions_1.ActionAccess; } });
|
|
40
|
+
Object.defineProperty(exports, "getActionAccess", { enumerable: true, get: function () { return actions_1.getActionAccess; } });
|
|
41
|
+
Object.defineProperty(exports, "isReadAction", { enumerable: true, get: function () { return actions_1.isReadAction; } });
|
|
42
|
+
Object.defineProperty(exports, "isWriteAction", { enumerable: true, get: function () { return actions_1.isWriteAction; } });
|
|
43
|
+
Object.defineProperty(exports, "getActionsByAccess", { enumerable: true, get: function () { return actions_1.getActionsByAccess; } });
|
|
26
44
|
var operation_1 = require("./operation");
|
|
27
45
|
Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return operation_1.Operation; } });
|
|
28
46
|
Object.defineProperty(exports, "getResourceFromOperation", { enumerable: true, get: function () { return operation_1.getResourceFromOperation; } });
|
|
29
47
|
Object.defineProperty(exports, "getActionFromOperation", { enumerable: true, get: function () { return operation_1.getActionFromOperation; } });
|
|
48
|
+
var resource_actions_1 = require("./resource-actions");
|
|
49
|
+
Object.defineProperty(exports, "getResourceActions", { enumerable: true, get: function () { return resource_actions_1.getResourceActions; } });
|
|
50
|
+
Object.defineProperty(exports, "getAllResourceActions", { enumerable: true, get: function () { return resource_actions_1.getAllResourceActions; } });
|
|
51
|
+
Object.defineProperty(exports, "getResourceActionsByAccess", { enumerable: true, get: function () { return resource_actions_1.getResourceActionsByAccess; } });
|
|
52
|
+
Object.defineProperty(exports, "getAllResourceActionsByAccess", { enumerable: true, get: function () { return resource_actions_1.getAllResourceActionsByAccess; } });
|
|
53
|
+
Object.defineProperty(exports, "generateOperationsForResources", { enumerable: true, get: function () { return resource_actions_1.generateOperationsForResources; } });
|
|
30
54
|
__exportStar(require("./labels"), exports);
|
|
31
|
-
|
|
32
|
-
Object.defineProperty(exports, "Operations", { enumerable: true, get: function () { return predefined_1.Operations; } });
|
|
33
|
-
Object.defineProperty(exports, "getAllOperations", { enumerable: true, get: function () { return predefined_1.getAllOperations; } });
|
|
34
|
-
Object.defineProperty(exports, "getOperationsByResource", { enumerable: true, get: function () { return predefined_1.getOperationsByResource; } });
|
|
35
|
-
Object.defineProperty(exports, "getOperationsByAction", { enumerable: true, get: function () { return predefined_1.getOperationsByAction; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlcmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUFpSDtBQUF4RyxxR0FBQSxRQUFRLE9BQUE7QUFBRSw4R0FBQSxpQkFBaUIsT0FBQTtBQUFFLDZHQUFBLGdCQUFnQixPQUFBO0FBQUUsOEdBQUEsaUJBQWlCLE9BQUE7QUFBRSw2R0FBQSxnQkFBZ0IsT0FBQTtBQUMzRixxQ0FBbUM7QUFBMUIsaUdBQUEsTUFBTSxPQUFBO0FBQ2YseUNBQXFHO0FBQTVGLHNHQUFBLFNBQVMsT0FBQTtBQUFhLHFIQUFBLHdCQUF3QixPQUFBO0FBQUUsbUhBQUEsc0JBQXNCLE9BQUE7QUFDL0UsMkNBQXlCO0FBQ3pCLDJDQUE0RztBQUFuRyx3R0FBQSxVQUFVLE9BQUE7QUFBRSw4R0FBQSxnQkFBZ0IsT0FBQTtBQUFFLHFIQUFBLHVCQUF1QixPQUFBO0FBQUUsbUhBQUEscUJBQXFCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZXNvdXJjZSwgTUVESUNBTF9SRVNPVVJDRVMsIFBVQkxJQ19SRVNPVVJDRVMsIGlzTWVkaWNhbFJlc291cmNlLCBpc1B1YmxpY1Jlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmV4cG9ydCB7IE9wZXJhdGlvbiwgT1BFUkFUSU9OLCBnZXRSZXNvdXJjZUZyb21PcGVyYXRpb24sIGdldEFjdGlvbkZyb21PcGVyYXRpb24gfSBmcm9tICcuL29wZXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xhYmVscyc7XG5leHBvcnQgeyBPcGVyYXRpb25zLCBnZXRBbGxPcGVyYXRpb25zLCBnZXRPcGVyYXRpb25zQnlSZXNvdXJjZSwgZ2V0T3BlcmF0aW9uc0J5QWN0aW9uIH0gZnJvbSAnLi9wcmVkZWZpbmVkJztcbiJdfQ==
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlcmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQW1CcUI7QUFsQm5CLHFHQUFBLFFBQVEsT0FBQTtBQUNSLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBRTFCLHFDQUFtSDtBQUExRyxpR0FBQSxNQUFNLE9BQUE7QUFBRSx1R0FBQSxZQUFZLE9BQUE7QUFBRSwwR0FBQSxlQUFlLE9BQUE7QUFBRSx1R0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxhQUFhLE9BQUE7QUFBRSw2R0FBQSxrQkFBa0IsT0FBQTtBQUMvRix5Q0FBcUc7QUFBNUYsc0dBQUEsU0FBUyxPQUFBO0FBQWEscUhBQUEsd0JBQXdCLE9BQUE7QUFBRSxtSEFBQSxzQkFBc0IsT0FBQTtBQUMvRSx1REFNNEI7QUFMMUIsc0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIseUhBQUEscUJBQXFCLE9BQUE7QUFDckIsOEhBQUEsMEJBQTBCLE9BQUE7QUFDMUIsaUlBQUEsNkJBQTZCLE9BQUE7QUFDN0Isa0lBQUEsOEJBQThCLE9BQUE7QUFFaEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlQ2F0ZWdvcnksXG4gIE1FRElDQUxfUkVTT1VSQ0VTLFxuICBQVUJMSUNfUkVTT1VSQ0VTLFxuICBDT1JFX1JFU09VUkNFUyxcbiAgTUVNQkVSU0hJUF9SRVNPVVJDRVMsXG4gIENMSU5JQ0FMX1JFU09VUkNFUyxcbiAgRE9DVU1FTlRfUkVTT1VSQ0VTLFxuICBTRVRUSU5HU19SRVNPVVJDRVMsXG4gIElOVEVHUkFUSU9OX1JFU09VUkNFUyxcbiAgU0NIRURVTElOR19SRVNPVVJDRVMsXG4gIEVYVEVSTkFMX1JFU09VUkNFUyxcbiAgU1lTVEVNX1JFU09VUkNFUyxcbiAgaXNNZWRpY2FsUmVzb3VyY2UsXG4gIGlzUHVibGljUmVzb3VyY2UsXG4gIGdldFJlc291cmNlQ2F0ZWdvcmllcyxcbiAgZ2V0UmVzb3VyY2VzQnlDYXRlZ29yeSxcbiAgZ2V0UmVzb3VyY2VzQnlDYXRlZ29yaWVzLFxufSBmcm9tICcuL3Jlc291cmNlcyc7XG5leHBvcnQgeyBBY3Rpb24sIEFjdGlvbkFjY2VzcywgZ2V0QWN0aW9uQWNjZXNzLCBpc1JlYWRBY3Rpb24sIGlzV3JpdGVBY3Rpb24sIGdldEFjdGlvbnNCeUFjY2VzcyB9IGZyb20gJy4vYWN0aW9ucyc7XG5leHBvcnQgeyBPcGVyYXRpb24sIE9QRVJBVElPTiwgZ2V0UmVzb3VyY2VGcm9tT3BlcmF0aW9uLCBnZXRBY3Rpb25Gcm9tT3BlcmF0aW9uIH0gZnJvbSAnLi9vcGVyYXRpb24nO1xuZXhwb3J0IHtcbiAgZ2V0UmVzb3VyY2VBY3Rpb25zLFxuICBnZXRBbGxSZXNvdXJjZUFjdGlvbnMsXG4gIGdldFJlc291cmNlQWN0aW9uc0J5QWNjZXNzLFxuICBnZXRBbGxSZXNvdXJjZUFjdGlvbnNCeUFjY2VzcyxcbiAgZ2VuZXJhdGVPcGVyYXRpb25zRm9yUmVzb3VyY2VzLFxufSBmcm9tICcuL3Jlc291cmNlLWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbHMnO1xuIl19
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Action } from './actions';
|
|
2
2
|
import { Operation } from './operation';
|
|
3
|
-
import { Resource } from './resources';
|
|
3
|
+
import { Resource, ResourceCategory } from './resources';
|
|
4
4
|
export type Locale = 'fr-FR' | 'us-EN';
|
|
5
5
|
export declare function getActionLabel(action: Action, locale?: Locale): string;
|
|
6
6
|
export declare function getResourceLabel(resource: Resource, locale?: Locale): string;
|
|
7
|
+
export declare function getResourceCategoryLabel(category: ResourceCategory, locale?: Locale): string;
|
|
7
8
|
export declare function getOperationLabel(operation: Operation | string, locale?: Locale, opts?: {
|
|
8
9
|
order?: 'action-resource' | 'resource-action';
|
|
9
10
|
separator?: string;
|