@nu-art/permissions-backend 0.400.5

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.
Files changed (65) hide show
  1. package/PermissionKey_BE.d.ts +13 -0
  2. package/PermissionKey_BE.js +48 -0
  3. package/_entity/permission-access-level/ModuleBE_PermissionAccessLevelDB.d.ts +18 -0
  4. package/_entity/permission-access-level/ModuleBE_PermissionAccessLevelDB.js +55 -0
  5. package/_entity/permission-access-level/index.d.ts +2 -0
  6. package/_entity/permission-access-level/index.js +2 -0
  7. package/_entity/permission-access-level/module-pack.d.ts +1 -0
  8. package/_entity/permission-access-level/module-pack.js +3 -0
  9. package/_entity/permission-api/ModuleBE_PermissionAPIDB.d.ts +12 -0
  10. package/_entity/permission-api/ModuleBE_PermissionAPIDB.js +62 -0
  11. package/_entity/permission-api/index.d.ts +2 -0
  12. package/_entity/permission-api/index.js +2 -0
  13. package/_entity/permission-api/module-pack.d.ts +1 -0
  14. package/_entity/permission-api/module-pack.js +3 -0
  15. package/_entity/permission-domain/ModuleBE_PermissionDomainDB.d.ts +15 -0
  16. package/_entity/permission-domain/ModuleBE_PermissionDomainDB.js +25 -0
  17. package/_entity/permission-domain/index.d.ts +2 -0
  18. package/_entity/permission-domain/index.js +2 -0
  19. package/_entity/permission-domain/module-pack.d.ts +1 -0
  20. package/_entity/permission-domain/module-pack.js +3 -0
  21. package/_entity/permission-group/ModuleBE_PermissionGroupDB.d.ts +14 -0
  22. package/_entity/permission-group/ModuleBE_PermissionGroupDB.js +62 -0
  23. package/_entity/permission-group/index.d.ts +2 -0
  24. package/_entity/permission-group/index.js +2 -0
  25. package/_entity/permission-group/module-pack.d.ts +1 -0
  26. package/_entity/permission-group/module-pack.js +3 -0
  27. package/_entity/permission-project/ModuleBE_PermissionProjectDB.d.ts +10 -0
  28. package/_entity/permission-project/ModuleBE_PermissionProjectDB.js +12 -0
  29. package/_entity/permission-project/index.d.ts +2 -0
  30. package/_entity/permission-project/index.js +2 -0
  31. package/_entity/permission-project/module-pack.d.ts +1 -0
  32. package/_entity/permission-project/module-pack.js +3 -0
  33. package/_entity/permission-user/ModuleBE_PermissionUserAPI.d.ts +8 -0
  34. package/_entity/permission-user/ModuleBE_PermissionUserAPI.js +13 -0
  35. package/_entity/permission-user/ModuleBE_PermissionUserDB.d.ts +36 -0
  36. package/_entity/permission-user/ModuleBE_PermissionUserDB.js +222 -0
  37. package/_entity/permission-user/index.d.ts +3 -0
  38. package/_entity/permission-user/index.js +3 -0
  39. package/_entity/permission-user/module-pack.d.ts +2 -0
  40. package/_entity/permission-user/module-pack.js +3 -0
  41. package/_entity.d.ts +12 -0
  42. package/_entity.js +18 -0
  43. package/consts.d.ts +7 -0
  44. package/consts.js +5 -0
  45. package/core/module-pack.d.ts +3 -0
  46. package/core/module-pack.js +32 -0
  47. package/core/utils.d.ts +25 -0
  48. package/core/utils.js +85 -0
  49. package/index.d.ts +4 -0
  50. package/index.js +22 -0
  51. package/modules/ModuleBE_Permissions.d.ts +77 -0
  52. package/modules/ModuleBE_Permissions.js +357 -0
  53. package/modules/ModuleBE_PermissionsAssert.d.ts +48 -0
  54. package/modules/ModuleBE_PermissionsAssert.js +242 -0
  55. package/modules/consts.d.ts +11 -0
  56. package/modules/consts.js +29 -0
  57. package/modules/index.d.ts +1 -0
  58. package/modules/index.js +19 -0
  59. package/package.json +85 -0
  60. package/permissions.d.ts +22 -0
  61. package/permissions.js +154 -0
  62. package/shared.d.ts +1 -0
  63. package/shared.js +19 -0
  64. package/types.d.ts +28 -0
  65. package/types.js +1 -0
@@ -0,0 +1,29 @@
1
+ import { DBDef_PermissionAccessLevel, DBDef_PermissionAPI, DBDef_PermissionDomain, DBDef_PermissionGroup, DBDef_PermissionProject, DBDef_PermissionUser, DomainNamespace_PermissionAssignment, DomainNamespace_PermissionManagement, DuplicateDefaultAccessLevels } from '@nu-art/permissions-shared';
2
+ export const Domain_PermissionAssignment = Object.freeze({
3
+ _id: '1f41541c4514b50140ae62c1f7097029',
4
+ namespace: DomainNamespace_PermissionAssignment
5
+ });
6
+ export const Permissions_PermissionAssignment = {
7
+ name: Domain_PermissionAssignment.namespace,
8
+ domains: [
9
+ {
10
+ ...Domain_PermissionAssignment,
11
+ levels: [...DuplicateDefaultAccessLevels(Domain_PermissionAssignment._id)],
12
+ dbNames: [DBDef_PermissionUser.dbKey, DBDef_PermissionGroup.dbKey]
13
+ }
14
+ ]
15
+ };
16
+ export const Domain_PermissionManagement = Object.freeze({
17
+ _id: '1f41541c4514b50140ae62c1f7097029',
18
+ namespace: DomainNamespace_PermissionManagement
19
+ });
20
+ export const Permissions_PermissionManagement = {
21
+ name: Domain_PermissionManagement.namespace,
22
+ domains: [
23
+ {
24
+ ...Domain_PermissionManagement,
25
+ levels: [...DuplicateDefaultAccessLevels(Domain_PermissionManagement._id)],
26
+ dbNames: [DBDef_PermissionProject.dbKey, DBDef_PermissionDomain.dbKey, DBDef_PermissionAccessLevel.dbKey, DBDef_PermissionAPI.dbKey]
27
+ }
28
+ ]
29
+ };
@@ -0,0 +1 @@
1
+ export * from './consts.js';
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Permissions management system, define access level for each of
3
+ * your server apis, and restrict users by giving them access levels
4
+ *
5
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export * from './consts.js';
package/package.json ADDED
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "@nu-art/permissions-backend",
3
+ "version": "0.400.5",
4
+ "description": "Permissions Backend",
5
+ "keywords": [
6
+ "TacB0sS",
7
+ "create account",
8
+ "express",
9
+ "infra",
10
+ "login",
11
+ "nu-art",
12
+ "permissions",
13
+ "saml",
14
+ "thunderstorm",
15
+ "typescript",
16
+ "user-account"
17
+ ],
18
+ "homepage": "https://github.com/nu-art-js/permissions",
19
+ "bugs": {
20
+ "url": "https://github.com/nu-art-js/permissions/issues"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+ssh://git@github.com:nu-art-js/permissions.git"
25
+ },
26
+ "publishConfig": {
27
+ "directory": "dist",
28
+ "linkDirectory": true
29
+ },
30
+ "license": "Apache-2.0",
31
+ "author": "TacB0sS",
32
+ "scripts": {
33
+ "build": "tsc",
34
+ "run-tests": "firebase emulators:exec \"npm run test\"",
35
+ "test": "ts-mocha -w -p src/test/tsconfig.json --timeout 0 --inspect=8107 --watch-files '**/*.ts' src/test/__all-tests.ts"
36
+ },
37
+ "dependencies": {
38
+ "@nu-art/permissions-shared": "0.400.5",
39
+ "@nu-art/firebase-backend": "0.400.5",
40
+ "@nu-art/firebase-shared": "0.400.5",
41
+ "@nu-art/google-services-backend": "0.400.5",
42
+ "@nu-art/thunderstorm-backend": "0.400.5",
43
+ "@nu-art/thunderstorm-shared": "0.400.5",
44
+ "@nu-art/ts-common": "0.400.5",
45
+ "@nu-art/ts-styles": "0.400.5",
46
+ "@nu-art/user-account-backend": "0.400.5",
47
+ "@nu-art/user-account-shared": "0.400.5",
48
+ "express": "^4.18.2",
49
+ "firebase": "^11.9.0",
50
+ "firebase-admin": "13.4.0",
51
+ "firebase-functions": "6.3.2",
52
+ "moment": "^2.29.4",
53
+ "react": "^18.0.0",
54
+ "react-dom": "^18.0.0",
55
+ "react-router-dom": "^6.9.0",
56
+ "request": "^2.88.0",
57
+ "saml2-js": "^4.0.1"
58
+ },
59
+ "devDependencies": {
60
+ "@types/react": "^18.0.0",
61
+ "@types/express": "^4.17.17",
62
+ "@types/react-dom": "^18.0.0",
63
+ "@types/react-router": "^5.1.20",
64
+ "@types/react-router-dom": "^5.3.3",
65
+ "@types/chai": "^4.3.4",
66
+ "@types/mocha": "^10.0.1",
67
+ "@types/history": "^4.7.2",
68
+ "@types/request": "^2.48.1",
69
+ "@types/saml2-js": "^1.6.8"
70
+ },
71
+ "unitConfig": {
72
+ "type": "typescript-lib"
73
+ },
74
+ "type": "module",
75
+ "exports": {
76
+ ".": {
77
+ "types": "./index.d.ts",
78
+ "import": "./index.js"
79
+ },
80
+ "./*": {
81
+ "types": "./*.d.ts",
82
+ "import": "./*.js"
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,22 @@
1
+ import { DefaultDef_Group } from '@nu-art/permissions-shared';
2
+ import { PermissionKey_BE } from './PermissionKey_BE.js';
3
+ import { DefaultDef_Domain, DefaultDef_Package } from './types.js';
4
+ export declare const PermissionKeyBE_DeveloperViewer: PermissionKey_BE<"permission-key--developer-viewer">;
5
+ export declare const PermissionKeyBE_DeveloperEditor: PermissionKey_BE<"permission-key--developer-editor">;
6
+ export declare const PermissionKeyBE_DeveloperAdmin: PermissionKey_BE<"permission-key--developer-admin">;
7
+ export declare const Domain_PermissionsDefine: Readonly<DefaultDef_Domain>;
8
+ export declare const Domain_PermissionsAssign: Readonly<DefaultDef_Domain>;
9
+ export declare const Domain_AccountManagement: Readonly<DefaultDef_Domain>;
10
+ export declare const Domain_Developer: Readonly<DefaultDef_Domain>;
11
+ export declare const PermissionsPackage_Permissions: DefaultDef_Package;
12
+ export declare const PermissionsPackage_Developer: DefaultDef_Package;
13
+ export declare const PermissionGroup_PermissionsDefine_NoAccess: DefaultDef_Group;
14
+ export declare const PermissionGroup_PermissionsDefine_Viewer: DefaultDef_Group;
15
+ export declare const PermissionGroup_PermissionsDefine_Editor: DefaultDef_Group;
16
+ export declare const PermissionGroup_PermissionsDefine_Admin: DefaultDef_Group;
17
+ export declare const PermissionGroup_PermissionsAssign_NoAccess: DefaultDef_Group;
18
+ export declare const PermissionGroup_PermissionsAssign_Viewer: DefaultDef_Group;
19
+ export declare const PermissionGroup_PermissionsAssign_Editor: DefaultDef_Group;
20
+ export declare const PermissionGroup_PermissionsAssign_Admin: DefaultDef_Group;
21
+ export declare const PermissionGroups_PermissionsDefine: DefaultDef_Group[];
22
+ export declare const PermissionGroups_PermissionsAssign: DefaultDef_Group[];
package/permissions.js ADDED
@@ -0,0 +1,154 @@
1
+ import { ApiDef_Permissions, DBDef_PermissionAccessLevel, DBDef_PermissionAPI, DBDef_PermissionDomain, DBDef_PermissionGroup, DBDef_PermissionProject, DBDef_PermissionUser, DefaultAccessLevel_Admin, DefaultAccessLevel_Delete, DefaultAccessLevel_NoAccess, DefaultAccessLevel_Read, DefaultAccessLevel_Write, } from '@nu-art/permissions-shared';
2
+ import { defaultValueResolverV2, PermissionKey_BE } from './PermissionKey_BE.js';
3
+ import { ApiDef_ActionProcessing } from '@nu-art/thunderstorm-shared/action-processor/index';
4
+ import { ApiDef_CollectionActions } from '@nu-art/thunderstorm-shared/collection-actions/api-def';
5
+ import { ApiDef_Account, DBDef_Accounts } from '@nu-art/user-account-shared';
6
+ import { PermissionKey_DeveloperAdmin, PermissionKey_DeveloperViewer, PermissionKey_DeveloperWriter } from '@nu-art/permissions-shared/permission-keys';
7
+ import { ApiDef_SyncEnv } from '@nu-art/thunderstorm-shared';
8
+ // export const PermissionsAccessLevel_ReadSelf = Object.freeze({name: 'Read-Self', value: 50});
9
+ const Domain_PermissionsDefine_ID = '48d5ace0cbb2a14c8a0ca3773a4a2962';
10
+ const Domain_PermissionsAssign_ID = 'ecf9cfe952d034ad8d1f182bbec6e2db';
11
+ const Domain_AccountManagement_ID = 'a02fd6cef8ccae193ad7357d596131e4';
12
+ const Domain_Developer_ID = '1f62a6e2fc4e2cfaa8aa1aa1a45b8c1b';
13
+ const _Domain_PermissionsDefine = {
14
+ _id: Domain_PermissionsDefine_ID,
15
+ namespace: 'Permissions Define',
16
+ dbNames: [DBDef_PermissionProject, DBDef_PermissionDomain, DBDef_PermissionAPI, DBDef_PermissionAccessLevel].map(dbDef => dbDef.dbKey),
17
+ customApis: [
18
+ { path: ApiDef_Account._v1.refreshSession.path, accessLevel: DefaultAccessLevel_NoAccess.name },
19
+ { path: ApiDef_Permissions.v1.createProject.path, accessLevel: DefaultAccessLevel_Admin.name },
20
+ { path: ApiDef_Permissions.v1.toggleStrictMode.path, accessLevel: DefaultAccessLevel_Admin.name },
21
+ ]
22
+ };
23
+ const _Domain_PermissionsAssign = {
24
+ _id: Domain_PermissionsAssign_ID,
25
+ namespace: 'Permissions Assign',
26
+ dbNames: [DBDef_PermissionGroup.dbKey, DBDef_PermissionUser.dbKey],
27
+ };
28
+ const _Domain_AccountManagement = {
29
+ _id: Domain_AccountManagement_ID,
30
+ namespace: 'Account Management',
31
+ dbNames: [DBDef_Accounts.dbKey],
32
+ customApis: [
33
+ { path: ApiDef_Account._v1.createAccount.path, accessLevel: DefaultAccessLevel_Admin.name },
34
+ { path: ApiDef_Account._v1.createToken.path, accessLevel: DefaultAccessLevel_Admin.name },
35
+ { path: ApiDef_Account._v1.getSessions.path, accessLevel: DefaultAccessLevel_Admin.name },
36
+ ]
37
+ };
38
+ export const PermissionKeyBE_DeveloperViewer = new PermissionKey_BE(PermissionKey_DeveloperViewer, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Read.name));
39
+ export const PermissionKeyBE_DeveloperEditor = new PermissionKey_BE(PermissionKey_DeveloperWriter, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Write.name));
40
+ export const PermissionKeyBE_DeveloperAdmin = new PermissionKey_BE(PermissionKey_DeveloperAdmin, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Admin.name));
41
+ const _Domain_Developer = {
42
+ _id: Domain_Developer_ID,
43
+ namespace: 'Developer',
44
+ permissionKeys: [
45
+ PermissionKeyBE_DeveloperViewer,
46
+ PermissionKeyBE_DeveloperEditor,
47
+ PermissionKeyBE_DeveloperAdmin,
48
+ ],
49
+ customApis: [
50
+ { path: ApiDef_CollectionActions.upgrade.all.path, accessLevel: DefaultAccessLevel_Delete.name },
51
+ { path: ApiDef_ActionProcessing.vv1.list.path, accessLevel: DefaultAccessLevel_Read.name },
52
+ { path: ApiDef_ActionProcessing.vv1.execute.path, accessLevel: DefaultAccessLevel_Admin.name },
53
+ { path: ApiDef_SyncEnv.vv1.fetchBackupMetadata.path, accessLevel: DefaultAccessLevel_Read.name },
54
+ { path: ApiDef_SyncEnv.vv1.createBackup.path, accessLevel: DefaultAccessLevel_Write.name },
55
+ { path: ApiDef_SyncEnv.vv1.syncFromEnvBackup.path, accessLevel: DefaultAccessLevel_Write.name },
56
+ { path: ApiDef_SyncEnv.vv1.syncFirebaseFromBackup.path, accessLevel: DefaultAccessLevel_Write.name },
57
+ { path: ApiDef_SyncEnv.vv1.syncToEnv.path, accessLevel: DefaultAccessLevel_Admin.name },
58
+ ]
59
+ };
60
+ export const Domain_PermissionsDefine = Object.freeze(_Domain_PermissionsDefine);
61
+ export const Domain_PermissionsAssign = Object.freeze(_Domain_PermissionsAssign);
62
+ export const Domain_AccountManagement = Object.freeze(_Domain_AccountManagement);
63
+ export const Domain_Developer = Object.freeze(_Domain_Developer);
64
+ export const PermissionsPackage_Permissions = {
65
+ name: 'Permissions',
66
+ domains: [
67
+ Domain_AccountManagement,
68
+ Domain_PermissionsDefine,
69
+ Domain_PermissionsAssign,
70
+ ],
71
+ };
72
+ export const PermissionsPackage_Developer = {
73
+ name: 'Developer',
74
+ domains: [
75
+ Domain_Developer,
76
+ ],
77
+ };
78
+ //Needed?
79
+ export const PermissionGroup_PermissionsDefine_NoAccess = {
80
+ _id: 'cacf1da8ccca1e4dede8859f0d72c55c',
81
+ name: `${Domain_PermissionsDefine.namespace}/No Access`,
82
+ uiLabel: `${Domain_PermissionsDefine.namespace}/No Access`,
83
+ accessLevels: {
84
+ [Domain_PermissionsDefine.namespace]: DefaultAccessLevel_NoAccess.name,
85
+ },
86
+ };
87
+ export const PermissionGroup_PermissionsDefine_Viewer = {
88
+ _id: '0079f39e0f50b70942b8d69bfe1741d5',
89
+ name: `${Domain_PermissionsDefine.namespace}/Viewer`,
90
+ uiLabel: `${Domain_PermissionsDefine.namespace}/Viewer`,
91
+ accessLevels: {
92
+ [Domain_PermissionsDefine.namespace]: DefaultAccessLevel_Read.name,
93
+ },
94
+ };
95
+ export const PermissionGroup_PermissionsDefine_Editor = {
96
+ _id: '46fb6b35f1d4d11913ce231bd4a42b4b',
97
+ name: `${Domain_PermissionsDefine.namespace}/Editor`,
98
+ uiLabel: `${Domain_PermissionsDefine.namespace}/Editor`,
99
+ accessLevels: {
100
+ [Domain_PermissionsDefine.namespace]: DefaultAccessLevel_Delete.name,
101
+ },
102
+ };
103
+ export const PermissionGroup_PermissionsDefine_Admin = {
104
+ _id: 'fa260d42ce16a69bc654bf0efd1a2287',
105
+ name: `${Domain_PermissionsDefine.namespace}/Admin`,
106
+ uiLabel: `${Domain_PermissionsDefine.namespace}/Admin`,
107
+ accessLevels: {
108
+ [Domain_PermissionsDefine.namespace]: DefaultAccessLevel_Admin.name,
109
+ },
110
+ };
111
+ export const PermissionGroup_PermissionsAssign_NoAccess = {
112
+ _id: 'dafebd8f706d638400e696345c400fc3',
113
+ name: `${Domain_PermissionsAssign.namespace}/No Access`,
114
+ uiLabel: `${Domain_PermissionsAssign.namespace}/No Access`,
115
+ accessLevels: {
116
+ [Domain_PermissionsAssign.namespace]: DefaultAccessLevel_NoAccess.name,
117
+ },
118
+ };
119
+ export const PermissionGroup_PermissionsAssign_Viewer = {
120
+ _id: '5b6d75f5644dd9501551487f9a8748b9',
121
+ name: `${Domain_PermissionsAssign.namespace}/Viewer`,
122
+ uiLabel: `${Domain_PermissionsAssign.namespace}/Viewer`,
123
+ accessLevels: {
124
+ [Domain_PermissionsAssign.namespace]: DefaultAccessLevel_Read.name,
125
+ },
126
+ };
127
+ export const PermissionGroup_PermissionsAssign_Editor = {
128
+ _id: 'ac5050d644251fa0b95506280a2ebfb3',
129
+ name: `${Domain_PermissionsAssign.namespace}/Editor`,
130
+ uiLabel: `${Domain_PermissionsAssign.namespace}/Editor`,
131
+ accessLevels: {
132
+ [Domain_PermissionsAssign.namespace]: DefaultAccessLevel_Delete.name,
133
+ },
134
+ };
135
+ export const PermissionGroup_PermissionsAssign_Admin = {
136
+ _id: '232a8bb28f770ac62d4fa74ed594bfeb',
137
+ name: `${Domain_PermissionsAssign.namespace}/Admin`,
138
+ uiLabel: `${Domain_PermissionsAssign.namespace}/Admin`,
139
+ accessLevels: {
140
+ [Domain_PermissionsAssign.namespace]: DefaultAccessLevel_Admin.name,
141
+ },
142
+ };
143
+ export const PermissionGroups_PermissionsDefine = [
144
+ PermissionGroup_PermissionsDefine_NoAccess,
145
+ PermissionGroup_PermissionsDefine_Viewer,
146
+ PermissionGroup_PermissionsDefine_Editor,
147
+ PermissionGroup_PermissionsDefine_Admin,
148
+ ];
149
+ export const PermissionGroups_PermissionsAssign = [
150
+ PermissionGroup_PermissionsAssign_NoAccess,
151
+ PermissionGroup_PermissionsAssign_Viewer,
152
+ PermissionGroup_PermissionsAssign_Editor,
153
+ PermissionGroup_PermissionsAssign_Admin,
154
+ ];
package/shared.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@nu-art/permissions-shared';
package/shared.js ADDED
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Permissions management system, define access level for each of
3
+ * your server apis, and restrict users by giving them access levels
4
+ *
5
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export * from '@nu-art/permissions-shared';
package/types.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import { PermissionKey_BE } from './PermissionKey_BE.js';
2
+ import { DB_PermissionAccessLevel, DB_PermissionDomain, DB_PermissionGroup, DB_PermissionProject, DB_PermissionUser, DefaultDef_AccessLevel, DefaultDef_Api, DefaultDef_Group } from '@nu-art/permissions-shared';
3
+ export type PermissionTypes = {
4
+ PermissionProject: DB_PermissionProject;
5
+ PermissionDomain: DB_PermissionDomain;
6
+ PermissionAccessLevel: DB_PermissionAccessLevel;
7
+ PermissionGroup: DB_PermissionGroup;
8
+ PermissionUser: DB_PermissionUser;
9
+ };
10
+ export type DefaultDef_Project = {
11
+ _id: string;
12
+ name: string;
13
+ packages: DefaultDef_Package[];
14
+ groups?: DefaultDef_Group[];
15
+ };
16
+ export type DefaultDef_Domain = {
17
+ _id: string;
18
+ namespace: string;
19
+ levels?: DefaultDef_AccessLevel[];
20
+ customApis?: DefaultDef_Api[];
21
+ dbNames?: string[];
22
+ permissionKeys?: PermissionKey_BE<string>[];
23
+ };
24
+ export type DefaultDef_Package = {
25
+ name: string;
26
+ domains: DefaultDef_Domain[];
27
+ groups?: DefaultDef_Group[];
28
+ };
package/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};