@nu-art/permissions-backend 0.401.8 → 0.500.0

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 (49) hide show
  1. package/PermissionKey_BE.d.ts +9 -6
  2. package/PermissionKey_BE.js +20 -9
  3. package/RequirePermission.d.ts +21 -0
  4. package/RequirePermission.js +47 -0
  5. package/_entity/permission-access-level/ModuleBE_PermissionAccessLevelDB.d.ts +5 -9
  6. package/_entity/permission-access-level/ModuleBE_PermissionAccessLevelDB.js +1 -7
  7. package/_entity/permission-access-level/module-pack.d.ts +1 -1
  8. package/_entity/permission-access-level/module-pack.js +2 -2
  9. package/_entity/permission-api/ModuleBE_PermissionAPIDB.d.ts +6 -8
  10. package/_entity/permission-api/ModuleBE_PermissionAPIDB.js +4 -4
  11. package/_entity/permission-api/module-pack.d.ts +1 -1
  12. package/_entity/permission-api/module-pack.js +2 -2
  13. package/_entity/permission-domain/ModuleBE_PermissionDomainDB.d.ts +4 -10
  14. package/_entity/permission-domain/ModuleBE_PermissionDomainDB.js +1 -4
  15. package/_entity/permission-domain/module-pack.d.ts +1 -1
  16. package/_entity/permission-domain/module-pack.js +2 -2
  17. package/_entity/permission-group/ModuleBE_PermissionGroupDB.d.ts +5 -7
  18. package/_entity/permission-group/ModuleBE_PermissionGroupDB.js +10 -7
  19. package/_entity/permission-group/module-pack.d.ts +1 -1
  20. package/_entity/permission-group/module-pack.js +2 -2
  21. package/_entity/permission-project/ModuleBE_PermissionProjectDB.d.ts +4 -6
  22. package/_entity/permission-project/ModuleBE_PermissionProjectDB.js +1 -1
  23. package/_entity/permission-project/module-pack.d.ts +1 -1
  24. package/_entity/permission-project/module-pack.js +2 -2
  25. package/_entity/permission-user/ModuleBE_PermissionUserAPI.d.ts +4 -3
  26. package/_entity/permission-user/ModuleBE_PermissionUserAPI.js +63 -10
  27. package/_entity/permission-user/ModuleBE_PermissionUserDB.d.ts +8 -10
  28. package/_entity/permission-user/ModuleBE_PermissionUserDB.js +33 -18
  29. package/core/external-api-paths.d.ts +13 -0
  30. package/core/external-api-paths.js +13 -0
  31. package/core/function-permission-registry.d.ts +25 -0
  32. package/core/function-permission-registry.js +50 -0
  33. package/core/utils.d.ts +4 -4
  34. package/core/utils.js +7 -7
  35. package/index.d.ts +5 -0
  36. package/index.js +5 -0
  37. package/modules/ModuleBE_Permissions.d.ts +10 -4
  38. package/modules/ModuleBE_Permissions.js +365 -264
  39. package/modules/ModuleBE_PermissionsAssert.d.ts +20 -3
  40. package/modules/ModuleBE_PermissionsAssert.js +271 -205
  41. package/modules/consts.d.ts +2 -2
  42. package/modules/consts.js +5 -5
  43. package/modules/index.d.ts +1 -0
  44. package/modules/index.js +1 -0
  45. package/package.json +13 -12
  46. package/permissions-wire.d.ts +46 -0
  47. package/permissions-wire.js +47 -0
  48. package/permissions.js +29 -31
  49. package/types.d.ts +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/permissions-backend",
3
- "version": "0.401.8",
3
+ "version": "0.500.0",
4
4
  "description": "Permissions Backend",
5
5
  "keywords": [
6
6
  "TacB0sS",
@@ -11,7 +11,6 @@
11
11
  "nu-art",
12
12
  "permissions",
13
13
  "saml",
14
- "thunderstorm",
15
14
  "typescript",
16
15
  "user-account"
17
16
  ],
@@ -35,15 +34,13 @@
35
34
  "test": "ts-mocha -w -p src/test/tsconfig.json --timeout 0 --inspect=8107 --watch-files '**/*.ts' src/test/__all-tests.ts"
36
35
  },
37
36
  "dependencies": {
38
- "@nu-art/permissions-shared": "0.401.8",
39
- "@nu-art/firebase-backend": "0.401.8",
40
- "@nu-art/firebase-shared": "0.401.8",
41
- "@nu-art/google-services-backend": "0.401.8",
42
- "@nu-art/thunderstorm-backend": "0.401.8",
43
- "@nu-art/thunderstorm-shared": "0.401.8",
44
- "@nu-art/ts-common": "0.401.8",
45
- "@nu-art/user-account-backend": "0.401.8",
46
- "@nu-art/user-account-shared": "0.401.8",
37
+ "@nu-art/permissions-shared": "0.500.0",
38
+ "@nu-art/firebase-backend": "0.500.0",
39
+ "@nu-art/firebase-shared": "0.500.0",
40
+ "@nu-art/google-services-backend": "0.500.0",
41
+ "@nu-art/ts-common": "0.500.0",
42
+ "@nu-art/user-account-backend": "0.500.0",
43
+ "@nu-art/user-account-shared": "0.500.0",
47
44
  "express": "^4.18.2",
48
45
  "firebase": "^11.9.0",
49
46
  "firebase-admin": "13.4.0",
@@ -52,7 +49,11 @@
52
49
  "react": "^18.0.0",
53
50
  "react-dom": "^18.0.0",
54
51
  "react-router-dom": "^6.9.0",
55
- "saml2-js": "^4.0.1"
52
+ "saml2-js": "^4.0.1",
53
+ "@nu-art/http-server": "{{THUNDERSTORM_VERSION}}",
54
+ "@nu-art/api-types": "{{THUNDERSTORM_VERSION}}",
55
+ "@nu-art/db-api-backend": "0.500.0",
56
+ "@nu-art/db-api-shared": "0.500.0"
56
57
  },
57
58
  "devDependencies": {
58
59
  "@types/react": "^18.0.0",
@@ -0,0 +1,46 @@
1
+ import type { Logger, Module } from '@nu-art/ts-common';
2
+ import type { ServiceAccountDef } from '@nu-art/permissions-shared';
3
+ /** Injectable app-config key handler. When using @nu-art/app-config-backend, set this so PermissionKey_BE registers and delegates get/set. */
4
+ export type AppConfigKeyHandler = {
5
+ registerKey(key: {
6
+ key: string | number;
7
+ resolver: (logger: Logger) => Promise<unknown>;
8
+ dataManipulator: (data: unknown) => Promise<unknown>;
9
+ }): void;
10
+ getAppKey(key: {
11
+ key: string | number;
12
+ }, logger?: Logger): Promise<unknown>;
13
+ setAppKey(key: {
14
+ key: string | number;
15
+ }, value: unknown): Promise<void>;
16
+ };
17
+ export declare function setAppConfigKeyHandler(handler: AppConfigKeyHandler | null): void;
18
+ export declare function getAppConfigKeyHandler(): AppConfigKeyHandler | null;
19
+ export type EnvConfigRef = {
20
+ get(config: Record<string, unknown>): Promise<Record<string, unknown>>;
21
+ set(config: Record<string, unknown>): Promise<void>;
22
+ };
23
+ export declare function setEnvConfigRefForModule(module: Module, ref: EnvConfigRef): void;
24
+ export declare function getEnvConfigRef(module: Module): EnvConfigRef | null;
25
+ export declare function setGlobalEnvConfigRef(ref: EnvConfigRef | null): void;
26
+ export declare function getGlobalEnvConfigRef(): EnvConfigRef | null;
27
+ export declare function setCreatePermissionKeyDefaults(fn: ((module: Module) => Promise<void>) | null): void;
28
+ export declare function getCreatePermissionKeyDefaults(): ((module: Module) => Promise<void>) | null;
29
+ export declare function setActionProcessor(proc: {
30
+ registerAction(opts: {
31
+ key: string;
32
+ group: string;
33
+ description: string;
34
+ processor: () => Promise<void>;
35
+ }, thisArg: unknown): void;
36
+ } | null): void;
37
+ export declare function getActionProcessor(): {
38
+ registerAction(opts: {
39
+ key: string;
40
+ group: string;
41
+ description: string;
42
+ processor: () => Promise<void>;
43
+ }, thisArg: unknown): void;
44
+ } | null;
45
+ export declare function setServiceAccountsProvider(provider: (() => Promise<ServiceAccountDef[]>) | null): void;
46
+ export declare function getServiceAccountsProvider(): (() => Promise<ServiceAccountDef[]>) | null;
@@ -0,0 +1,47 @@
1
+ /*
2
+ * Permissions management system
3
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
4
+ * Licensed under the Apache License, Version 2.0
5
+ */
6
+ let appConfigKeyHandler = null;
7
+ export function setAppConfigKeyHandler(handler) {
8
+ appConfigKeyHandler = handler;
9
+ }
10
+ export function getAppConfigKeyHandler() {
11
+ return appConfigKeyHandler;
12
+ }
13
+ let envConfigRefByModule = new Map();
14
+ let globalEnvConfigRef = null;
15
+ let createPermissionKeyDefaultsFn = null;
16
+ let actionProcessor = null;
17
+ let serviceAccountsProvider = null;
18
+ export function setEnvConfigRefForModule(module, ref) {
19
+ envConfigRefByModule.set(module, ref);
20
+ }
21
+ export function getEnvConfigRef(module) {
22
+ return envConfigRefByModule.get(module) ?? null;
23
+ }
24
+ export function setGlobalEnvConfigRef(ref) {
25
+ globalEnvConfigRef = ref;
26
+ }
27
+ export function getGlobalEnvConfigRef() {
28
+ return globalEnvConfigRef;
29
+ }
30
+ export function setCreatePermissionKeyDefaults(fn) {
31
+ createPermissionKeyDefaultsFn = fn;
32
+ }
33
+ export function getCreatePermissionKeyDefaults() {
34
+ return createPermissionKeyDefaultsFn;
35
+ }
36
+ export function setActionProcessor(proc) {
37
+ actionProcessor = proc;
38
+ }
39
+ export function getActionProcessor() {
40
+ return actionProcessor;
41
+ }
42
+ export function setServiceAccountsProvider(provider) {
43
+ serviceAccountsProvider = provider;
44
+ }
45
+ export function getServiceAccountsProvider() {
46
+ return serviceAccountsProvider;
47
+ }
package/permissions.js CHANGED
@@ -1,45 +1,43 @@
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';
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, toPermissionDomainId, toPermissionGroupId, } from '@nu-art/permissions-shared';
2
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';
3
+ import { Path_ActionProcessor_Execute, Path_ActionProcessor_List, Path_CollectionActions_UpgradeAll, Path_SyncEnv_CreateBackup, Path_SyncEnv_FetchBackupMetadata, Path_SyncEnv_SyncFirebaseFromBackup, Path_SyncEnv_SyncFromEnvBackup, Path_SyncEnv_SyncToEnv, } from './core/external-api-paths.js';
4
+ import { ApiDef_UserAccount, DBDef_Accounts } from '@nu-art/user-account-shared';
6
5
  import { PermissionKey_DeveloperAdmin, PermissionKey_DeveloperViewer, PermissionKey_DeveloperWriter } from '@nu-art/permissions-shared/permission-keys';
7
- import { ApiDef_SyncEnv } from '@nu-art/thunderstorm-shared';
8
6
  // export const PermissionsAccessLevel_ReadSelf = Object.freeze({name: 'Read-Self', value: 50});
9
7
  const Domain_PermissionsDefine_ID = '48d5ace0cbb2a14c8a0ca3773a4a2962';
10
8
  const Domain_PermissionsAssign_ID = 'ecf9cfe952d034ad8d1f182bbec6e2db';
11
9
  const Domain_AccountManagement_ID = 'a02fd6cef8ccae193ad7357d596131e4';
12
10
  const Domain_Developer_ID = '1f62a6e2fc4e2cfaa8aa1aa1a45b8c1b';
13
11
  const _Domain_PermissionsDefine = {
14
- _id: Domain_PermissionsDefine_ID,
12
+ _id: toPermissionDomainId(Domain_PermissionsDefine_ID),
15
13
  namespace: 'Permissions Define',
16
14
  dbNames: [DBDef_PermissionProject, DBDef_PermissionDomain, DBDef_PermissionAPI, DBDef_PermissionAccessLevel].map(dbDef => dbDef.dbKey),
17
15
  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 },
16
+ { path: ApiDef_UserAccount.refreshSession.path, accessLevel: DefaultAccessLevel_NoAccess.name },
17
+ { path: ApiDef_Permissions.createProject.path, accessLevel: DefaultAccessLevel_Admin.name },
18
+ { path: ApiDef_Permissions.toggleStrictMode.path, accessLevel: DefaultAccessLevel_Admin.name },
21
19
  ]
22
20
  };
23
21
  const _Domain_PermissionsAssign = {
24
- _id: Domain_PermissionsAssign_ID,
22
+ _id: toPermissionDomainId(Domain_PermissionsAssign_ID),
25
23
  namespace: 'Permissions Assign',
26
24
  dbNames: [DBDef_PermissionGroup.dbKey, DBDef_PermissionUser.dbKey],
27
25
  };
28
26
  const _Domain_AccountManagement = {
29
- _id: Domain_AccountManagement_ID,
27
+ _id: toPermissionDomainId(Domain_AccountManagement_ID),
30
28
  namespace: 'Account Management',
31
29
  dbNames: [DBDef_Accounts.dbKey],
32
30
  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 },
31
+ { path: ApiDef_UserAccount.createAccount.path, accessLevel: DefaultAccessLevel_Admin.name },
32
+ { path: ApiDef_UserAccount.createToken.path, accessLevel: DefaultAccessLevel_Admin.name },
33
+ { path: ApiDef_UserAccount.getSessions.path, accessLevel: DefaultAccessLevel_Admin.name },
36
34
  ]
37
35
  };
38
36
  export const PermissionKeyBE_DeveloperViewer = new PermissionKey_BE(PermissionKey_DeveloperViewer, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Read.name));
39
37
  export const PermissionKeyBE_DeveloperEditor = new PermissionKey_BE(PermissionKey_DeveloperWriter, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Write.name));
40
38
  export const PermissionKeyBE_DeveloperAdmin = new PermissionKey_BE(PermissionKey_DeveloperAdmin, () => defaultValueResolverV2(Domain_Developer._id, DefaultAccessLevel_Admin.name));
41
39
  const _Domain_Developer = {
42
- _id: Domain_Developer_ID,
40
+ _id: toPermissionDomainId(Domain_Developer_ID),
43
41
  namespace: 'Developer',
44
42
  permissionKeys: [
45
43
  PermissionKeyBE_DeveloperViewer,
@@ -47,14 +45,14 @@ const _Domain_Developer = {
47
45
  PermissionKeyBE_DeveloperAdmin,
48
46
  ],
49
47
  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 },
48
+ { path: Path_CollectionActions_UpgradeAll, accessLevel: DefaultAccessLevel_Delete.name },
49
+ { path: Path_ActionProcessor_List, accessLevel: DefaultAccessLevel_Read.name },
50
+ { path: Path_ActionProcessor_Execute, accessLevel: DefaultAccessLevel_Admin.name },
51
+ { path: Path_SyncEnv_FetchBackupMetadata, accessLevel: DefaultAccessLevel_Read.name },
52
+ { path: Path_SyncEnv_CreateBackup, accessLevel: DefaultAccessLevel_Write.name },
53
+ { path: Path_SyncEnv_SyncFromEnvBackup, accessLevel: DefaultAccessLevel_Write.name },
54
+ { path: Path_SyncEnv_SyncFirebaseFromBackup, accessLevel: DefaultAccessLevel_Write.name },
55
+ { path: Path_SyncEnv_SyncToEnv, accessLevel: DefaultAccessLevel_Admin.name },
58
56
  ]
59
57
  };
60
58
  export const Domain_PermissionsDefine = Object.freeze(_Domain_PermissionsDefine);
@@ -77,7 +75,7 @@ export const PermissionsPackage_Developer = {
77
75
  };
78
76
  //Needed?
79
77
  export const PermissionGroup_PermissionsDefine_NoAccess = {
80
- _id: 'cacf1da8ccca1e4dede8859f0d72c55c',
78
+ _id: toPermissionGroupId('cacf1da8ccca1e4dede8859f0d72c55c'),
81
79
  name: `${Domain_PermissionsDefine.namespace}/No Access`,
82
80
  uiLabel: `${Domain_PermissionsDefine.namespace}/No Access`,
83
81
  accessLevels: {
@@ -85,7 +83,7 @@ export const PermissionGroup_PermissionsDefine_NoAccess = {
85
83
  },
86
84
  };
87
85
  export const PermissionGroup_PermissionsDefine_Viewer = {
88
- _id: '0079f39e0f50b70942b8d69bfe1741d5',
86
+ _id: toPermissionGroupId('0079f39e0f50b70942b8d69bfe1741d5'),
89
87
  name: `${Domain_PermissionsDefine.namespace}/Viewer`,
90
88
  uiLabel: `${Domain_PermissionsDefine.namespace}/Viewer`,
91
89
  accessLevels: {
@@ -93,7 +91,7 @@ export const PermissionGroup_PermissionsDefine_Viewer = {
93
91
  },
94
92
  };
95
93
  export const PermissionGroup_PermissionsDefine_Editor = {
96
- _id: '46fb6b35f1d4d11913ce231bd4a42b4b',
94
+ _id: toPermissionGroupId('46fb6b35f1d4d11913ce231bd4a42b4b'),
97
95
  name: `${Domain_PermissionsDefine.namespace}/Editor`,
98
96
  uiLabel: `${Domain_PermissionsDefine.namespace}/Editor`,
99
97
  accessLevels: {
@@ -101,7 +99,7 @@ export const PermissionGroup_PermissionsDefine_Editor = {
101
99
  },
102
100
  };
103
101
  export const PermissionGroup_PermissionsDefine_Admin = {
104
- _id: 'fa260d42ce16a69bc654bf0efd1a2287',
102
+ _id: toPermissionGroupId('fa260d42ce16a69bc654bf0efd1a2287'),
105
103
  name: `${Domain_PermissionsDefine.namespace}/Admin`,
106
104
  uiLabel: `${Domain_PermissionsDefine.namespace}/Admin`,
107
105
  accessLevels: {
@@ -109,7 +107,7 @@ export const PermissionGroup_PermissionsDefine_Admin = {
109
107
  },
110
108
  };
111
109
  export const PermissionGroup_PermissionsAssign_NoAccess = {
112
- _id: 'dafebd8f706d638400e696345c400fc3',
110
+ _id: toPermissionGroupId('dafebd8f706d638400e696345c400fc3'),
113
111
  name: `${Domain_PermissionsAssign.namespace}/No Access`,
114
112
  uiLabel: `${Domain_PermissionsAssign.namespace}/No Access`,
115
113
  accessLevels: {
@@ -117,7 +115,7 @@ export const PermissionGroup_PermissionsAssign_NoAccess = {
117
115
  },
118
116
  };
119
117
  export const PermissionGroup_PermissionsAssign_Viewer = {
120
- _id: '5b6d75f5644dd9501551487f9a8748b9',
118
+ _id: toPermissionGroupId('5b6d75f5644dd9501551487f9a8748b9'),
121
119
  name: `${Domain_PermissionsAssign.namespace}/Viewer`,
122
120
  uiLabel: `${Domain_PermissionsAssign.namespace}/Viewer`,
123
121
  accessLevels: {
@@ -125,7 +123,7 @@ export const PermissionGroup_PermissionsAssign_Viewer = {
125
123
  },
126
124
  };
127
125
  export const PermissionGroup_PermissionsAssign_Editor = {
128
- _id: 'ac5050d644251fa0b95506280a2ebfb3',
126
+ _id: toPermissionGroupId('ac5050d644251fa0b95506280a2ebfb3'),
129
127
  name: `${Domain_PermissionsAssign.namespace}/Editor`,
130
128
  uiLabel: `${Domain_PermissionsAssign.namespace}/Editor`,
131
129
  accessLevels: {
@@ -133,7 +131,7 @@ export const PermissionGroup_PermissionsAssign_Editor = {
133
131
  },
134
132
  };
135
133
  export const PermissionGroup_PermissionsAssign_Admin = {
136
- _id: '232a8bb28f770ac62d4fa74ed594bfeb',
134
+ _id: toPermissionGroupId('232a8bb28f770ac62d4fa74ed594bfeb'),
137
135
  name: `${Domain_PermissionsAssign.namespace}/Admin`,
138
136
  uiLabel: `${Domain_PermissionsAssign.namespace}/Admin`,
139
137
  accessLevels: {
package/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
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';
2
+ import { DatabaseDef_PermissionDomain, DatabaseDef_PermissionProject, DB_PermissionAccessLevel, DB_PermissionDomain, DB_PermissionGroup, DB_PermissionProject, DB_PermissionUser, DefaultDef_AccessLevel, DefaultDef_Api, DefaultDef_Group } from '@nu-art/permissions-shared';
3
3
  export type PermissionTypes = {
4
4
  PermissionProject: DB_PermissionProject;
5
5
  PermissionDomain: DB_PermissionDomain;
@@ -8,13 +8,13 @@ export type PermissionTypes = {
8
8
  PermissionUser: DB_PermissionUser;
9
9
  };
10
10
  export type DefaultDef_Project = {
11
- _id: string;
11
+ _id: DatabaseDef_PermissionProject['id'];
12
12
  name: string;
13
13
  packages: DefaultDef_Package[];
14
14
  groups?: DefaultDef_Group[];
15
15
  };
16
16
  export type DefaultDef_Domain = {
17
- _id: string;
17
+ _id: DatabaseDef_PermissionDomain['id'];
18
18
  namespace: string;
19
19
  levels?: DefaultDef_AccessLevel[];
20
20
  customApis?: DefaultDef_Api[];