@spinajs/rbac 2.0.180 → 2.0.181

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 (225) hide show
  1. package/lib/cjs/auth.d.ts +15 -15
  2. package/lib/cjs/auth.js +103 -103
  3. package/lib/cjs/auth.js.map +1 -1
  4. package/lib/cjs/cli/ActivateUser.d.ts +8 -8
  5. package/lib/cjs/cli/ActivateUser.js +47 -47
  6. package/lib/cjs/cli/ActivateUser.js.map +1 -1
  7. package/lib/cjs/cli/BanUser.d.ts +8 -8
  8. package/lib/cjs/cli/BanUser.js +63 -63
  9. package/lib/cjs/cli/BanUser.js.map +1 -1
  10. package/lib/cjs/cli/ChangeUserPassword.d.ts +11 -11
  11. package/lib/cjs/cli/ChangeUserPassword.js +58 -58
  12. package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
  13. package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts +8 -8
  14. package/lib/cjs/cli/ClearUserTimelineSchedule.js +54 -54
  15. package/lib/cjs/cli/ClearUserTimelineSchedule.js.map +1 -1
  16. package/lib/cjs/cli/CreateUser.d.ts +17 -17
  17. package/lib/cjs/cli/CreateUser.js +69 -69
  18. package/lib/cjs/cli/CreateUser.js.map +1 -1
  19. package/lib/cjs/cli/DeleteUser.d.ts +8 -8
  20. package/lib/cjs/cli/DeleteUser.js +40 -40
  21. package/lib/cjs/cli/DeleteUser.js.map +1 -1
  22. package/lib/cjs/cli/FindUser.d.ts +12 -12
  23. package/lib/cjs/cli/FindUser.js +44 -44
  24. package/lib/cjs/cli/FindUser.js.map +1 -1
  25. package/lib/cjs/cli/GrantUserRole.d.ts +8 -8
  26. package/lib/cjs/cli/GrantUserRole.js +47 -47
  27. package/lib/cjs/cli/GrantUserRole.js.map +1 -1
  28. package/lib/cjs/cli/LatestUserEvents.d.ts +6 -6
  29. package/lib/cjs/cli/LatestUserEvents.js +37 -37
  30. package/lib/cjs/cli/LatestUserEvents.js.map +1 -1
  31. package/lib/cjs/cli/RevokeUserRole.d.ts +8 -8
  32. package/lib/cjs/cli/RevokeUserRole.js +46 -46
  33. package/lib/cjs/cli/RevokeUserRole.js.map +1 -1
  34. package/lib/cjs/cli/UnbanUserSchedule.d.ts +8 -8
  35. package/lib/cjs/cli/UnbanUserSchedule.js +54 -54
  36. package/lib/cjs/cli/UnbanUserSchedule.js.map +1 -1
  37. package/lib/cjs/config/rbac.d.ts +115 -115
  38. package/lib/cjs/config/rbac.js +120 -120
  39. package/lib/cjs/decorators/Resource.d.ts +8 -8
  40. package/lib/cjs/decorators/Resource.js +17 -17
  41. package/lib/cjs/events/NewUser.d.ts +12 -12
  42. package/lib/cjs/events/NewUser.js +16 -16
  43. package/lib/cjs/events/NewUser.js.map +1 -1
  44. package/lib/cjs/events/UserActivated.d.ts +5 -5
  45. package/lib/cjs/events/UserActivated.js +24 -24
  46. package/lib/cjs/events/UserActivated.js.map +1 -1
  47. package/lib/cjs/events/UserBanned.d.ts +6 -6
  48. package/lib/cjs/events/UserBanned.js +25 -25
  49. package/lib/cjs/events/UserBanned.js.map +1 -1
  50. package/lib/cjs/events/UserDeactivated.d.ts +5 -5
  51. package/lib/cjs/events/UserDeactivated.js +24 -24
  52. package/lib/cjs/events/UserDeactivated.js.map +1 -1
  53. package/lib/cjs/events/UserDeleted.d.ts +5 -5
  54. package/lib/cjs/events/UserDeleted.js +24 -24
  55. package/lib/cjs/events/UserDeleted.js.map +1 -1
  56. package/lib/cjs/events/UserMetadataAdded.d.ts +5 -5
  57. package/lib/cjs/events/UserMetadataAdded.js +24 -24
  58. package/lib/cjs/events/UserMetadataAdded.js.map +1 -1
  59. package/lib/cjs/events/UserMetadataChanged.d.ts +5 -5
  60. package/lib/cjs/events/UserMetadataChanged.js +24 -24
  61. package/lib/cjs/events/UserMetadataChanged.js.map +1 -1
  62. package/lib/cjs/events/UserMetadataDeleted.d.ts +5 -5
  63. package/lib/cjs/events/UserMetadataDeleted.js +24 -24
  64. package/lib/cjs/events/UserMetadataDeleted.js.map +1 -1
  65. package/lib/cjs/events/UserPasswordChanged.d.ts +5 -5
  66. package/lib/cjs/events/UserPasswordChanged.js +24 -24
  67. package/lib/cjs/events/UserPasswordChanged.js.map +1 -1
  68. package/lib/cjs/events/UserPropertyChanged.d.ts +7 -7
  69. package/lib/cjs/events/UserPropertyChanged.js +16 -16
  70. package/lib/cjs/events/UserPropertyChanged.js.map +1 -1
  71. package/lib/cjs/events/UserRoleGranted.d.ts +6 -6
  72. package/lib/cjs/events/UserRoleGranted.js +25 -25
  73. package/lib/cjs/events/UserRoleGranted.js.map +1 -1
  74. package/lib/cjs/events/UserRoleRevoked.d.ts +6 -6
  75. package/lib/cjs/events/UserRoleRevoked.js +25 -25
  76. package/lib/cjs/events/UserRoleRevoked.js.map +1 -1
  77. package/lib/cjs/events/UserUnbanned.d.ts +5 -5
  78. package/lib/cjs/events/UserUnbanned.js +24 -24
  79. package/lib/cjs/events/UserUnbanned.js.map +1 -1
  80. package/lib/cjs/events/index.d.ts +13 -13
  81. package/lib/cjs/events/index.js +29 -29
  82. package/lib/cjs/index.d.ts +20 -20
  83. package/lib/cjs/index.js +85 -85
  84. package/lib/cjs/index.js.map +1 -1
  85. package/lib/cjs/interfaces.d.ts +259 -259
  86. package/lib/cjs/interfaces.js +45 -45
  87. package/lib/cjs/interfaces.js.map +1 -1
  88. package/lib/cjs/jobs/UnbanUser.d.ts +9 -9
  89. package/lib/cjs/jobs/UnbanUser.js +43 -43
  90. package/lib/cjs/jobs/UnbanUser.js.map +1 -1
  91. package/lib/cjs/middleware.d.ts +5 -5
  92. package/lib/cjs/middleware.js +24 -24
  93. package/lib/cjs/middleware.js.map +1 -1
  94. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts +5 -5
  95. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js +56 -56
  96. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
  97. package/lib/cjs/models/User.d.ts +96 -96
  98. package/lib/cjs/models/User.js +229 -229
  99. package/lib/cjs/models/User.js.map +1 -1
  100. package/lib/cjs/models/UserMetadata.d.ts +9 -9
  101. package/lib/cjs/models/UserMetadata.js +32 -32
  102. package/lib/cjs/models/UserMetadata.js.map +1 -1
  103. package/lib/cjs/models/UserTimeline.d.ts +28 -28
  104. package/lib/cjs/models/UserTimeline.js +46 -46
  105. package/lib/cjs/models/UserTimeline.js.map +1 -1
  106. package/lib/cjs/password.d.ts +25 -25
  107. package/lib/cjs/password.js +91 -91
  108. package/lib/cjs/password.js.map +1 -1
  109. package/lib/cjs/session.d.ts +33 -33
  110. package/lib/cjs/session.js +100 -100
  111. package/lib/cjs/session.js.map +1 -1
  112. package/lib/mjs/auth.d.ts +15 -15
  113. package/lib/mjs/auth.js +100 -100
  114. package/lib/mjs/auth.js.map +1 -1
  115. package/lib/mjs/cli/ActivateUser.d.ts +8 -8
  116. package/lib/mjs/cli/ActivateUser.js +44 -44
  117. package/lib/mjs/cli/ActivateUser.js.map +1 -1
  118. package/lib/mjs/cli/BanUser.d.ts +8 -8
  119. package/lib/mjs/cli/BanUser.js +60 -60
  120. package/lib/mjs/cli/BanUser.js.map +1 -1
  121. package/lib/mjs/cli/ChangeUserPassword.d.ts +11 -11
  122. package/lib/mjs/cli/ChangeUserPassword.js +55 -55
  123. package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
  124. package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts +8 -8
  125. package/lib/mjs/cli/ClearUserTimelineSchedule.js +51 -51
  126. package/lib/mjs/cli/ClearUserTimelineSchedule.js.map +1 -1
  127. package/lib/mjs/cli/CreateUser.d.ts +17 -17
  128. package/lib/mjs/cli/CreateUser.js +66 -66
  129. package/lib/mjs/cli/CreateUser.js.map +1 -1
  130. package/lib/mjs/cli/DeleteUser.d.ts +8 -8
  131. package/lib/mjs/cli/DeleteUser.js +37 -37
  132. package/lib/mjs/cli/DeleteUser.js.map +1 -1
  133. package/lib/mjs/cli/FindUser.d.ts +12 -12
  134. package/lib/mjs/cli/FindUser.js +41 -41
  135. package/lib/mjs/cli/FindUser.js.map +1 -1
  136. package/lib/mjs/cli/GrantUserRole.d.ts +8 -8
  137. package/lib/mjs/cli/GrantUserRole.js +41 -41
  138. package/lib/mjs/cli/GrantUserRole.js.map +1 -1
  139. package/lib/mjs/cli/LatestUserEvents.d.ts +6 -6
  140. package/lib/mjs/cli/LatestUserEvents.js +34 -34
  141. package/lib/mjs/cli/LatestUserEvents.js.map +1 -1
  142. package/lib/mjs/cli/RevokeUserRole.d.ts +8 -8
  143. package/lib/mjs/cli/RevokeUserRole.js +40 -40
  144. package/lib/mjs/cli/RevokeUserRole.js.map +1 -1
  145. package/lib/mjs/cli/UnbanUserSchedule.d.ts +8 -8
  146. package/lib/mjs/cli/UnbanUserSchedule.js +51 -51
  147. package/lib/mjs/cli/UnbanUserSchedule.js.map +1 -1
  148. package/lib/mjs/config/rbac.d.ts +115 -115
  149. package/lib/mjs/config/rbac.js +118 -118
  150. package/lib/mjs/decorators/Resource.d.ts +8 -8
  151. package/lib/mjs/decorators/Resource.js +13 -13
  152. package/lib/mjs/events/NewUser.d.ts +12 -12
  153. package/lib/mjs/events/NewUser.js +13 -13
  154. package/lib/mjs/events/NewUser.js.map +1 -1
  155. package/lib/mjs/events/UserActivated.d.ts +5 -5
  156. package/lib/mjs/events/UserActivated.js +21 -21
  157. package/lib/mjs/events/UserActivated.js.map +1 -1
  158. package/lib/mjs/events/UserBanned.d.ts +6 -6
  159. package/lib/mjs/events/UserBanned.js +22 -22
  160. package/lib/mjs/events/UserBanned.js.map +1 -1
  161. package/lib/mjs/events/UserDeactivated.d.ts +5 -5
  162. package/lib/mjs/events/UserDeactivated.js +21 -21
  163. package/lib/mjs/events/UserDeactivated.js.map +1 -1
  164. package/lib/mjs/events/UserDeleted.d.ts +5 -5
  165. package/lib/mjs/events/UserDeleted.js +21 -21
  166. package/lib/mjs/events/UserDeleted.js.map +1 -1
  167. package/lib/mjs/events/UserMetadataAdded.d.ts +5 -5
  168. package/lib/mjs/events/UserMetadataAdded.js +21 -21
  169. package/lib/mjs/events/UserMetadataAdded.js.map +1 -1
  170. package/lib/mjs/events/UserMetadataChanged.d.ts +5 -5
  171. package/lib/mjs/events/UserMetadataChanged.js +21 -21
  172. package/lib/mjs/events/UserMetadataChanged.js.map +1 -1
  173. package/lib/mjs/events/UserMetadataDeleted.d.ts +5 -5
  174. package/lib/mjs/events/UserMetadataDeleted.js +21 -21
  175. package/lib/mjs/events/UserMetadataDeleted.js.map +1 -1
  176. package/lib/mjs/events/UserPasswordChanged.d.ts +5 -5
  177. package/lib/mjs/events/UserPasswordChanged.js +21 -21
  178. package/lib/mjs/events/UserPasswordChanged.js.map +1 -1
  179. package/lib/mjs/events/UserPropertyChanged.d.ts +7 -7
  180. package/lib/mjs/events/UserPropertyChanged.js +13 -13
  181. package/lib/mjs/events/UserPropertyChanged.js.map +1 -1
  182. package/lib/mjs/events/UserRoleGranted.d.ts +6 -6
  183. package/lib/mjs/events/UserRoleGranted.js +22 -22
  184. package/lib/mjs/events/UserRoleGranted.js.map +1 -1
  185. package/lib/mjs/events/UserRoleRevoked.d.ts +6 -6
  186. package/lib/mjs/events/UserRoleRevoked.js +22 -22
  187. package/lib/mjs/events/UserRoleRevoked.js.map +1 -1
  188. package/lib/mjs/events/UserUnbanned.d.ts +5 -5
  189. package/lib/mjs/events/UserUnbanned.js +21 -21
  190. package/lib/mjs/events/UserUnbanned.js.map +1 -1
  191. package/lib/mjs/events/index.d.ts +13 -13
  192. package/lib/mjs/events/index.js +13 -13
  193. package/lib/mjs/index.d.ts +20 -20
  194. package/lib/mjs/index.js +64 -64
  195. package/lib/mjs/index.js.map +1 -1
  196. package/lib/mjs/interfaces.d.ts +259 -259
  197. package/lib/mjs/interfaces.js +37 -37
  198. package/lib/mjs/interfaces.js.map +1 -1
  199. package/lib/mjs/jobs/UnbanUser.d.ts +9 -9
  200. package/lib/mjs/jobs/UnbanUser.js +40 -40
  201. package/lib/mjs/jobs/UnbanUser.js.map +1 -1
  202. package/lib/mjs/middleware.d.ts +5 -5
  203. package/lib/mjs/middleware.js +21 -21
  204. package/lib/mjs/middleware.js.map +1 -1
  205. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts +5 -5
  206. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js +53 -53
  207. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
  208. package/lib/mjs/models/User.d.ts +96 -96
  209. package/lib/mjs/models/User.js +225 -225
  210. package/lib/mjs/models/User.js.map +1 -1
  211. package/lib/mjs/models/UserMetadata.d.ts +9 -9
  212. package/lib/mjs/models/UserMetadata.js +29 -29
  213. package/lib/mjs/models/UserMetadata.js.map +1 -1
  214. package/lib/mjs/models/UserTimeline.d.ts +28 -28
  215. package/lib/mjs/models/UserTimeline.js +43 -43
  216. package/lib/mjs/models/UserTimeline.js.map +1 -1
  217. package/lib/mjs/password.d.ts +25 -25
  218. package/lib/mjs/password.js +65 -65
  219. package/lib/mjs/password.js.map +1 -1
  220. package/lib/mjs/session.d.ts +33 -33
  221. package/lib/mjs/session.js +94 -94
  222. package/lib/mjs/session.js.map +1 -1
  223. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  224. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  225. package/package.json +10 -10
@@ -1,116 +1,116 @@
1
- declare const rbac: {
2
- system: {
3
- dirs: {
4
- cli: string[];
5
- };
6
- };
7
- queue: {
8
- routing: {
9
- NewUser: {
10
- connection: string;
11
- };
12
- UserActivated: {
13
- connection: string;
14
- };
15
- UserBanned: {
16
- connection: string;
17
- };
18
- UserDeactivated: {
19
- connection: string;
20
- };
21
- UserDeleted: {
22
- connection: string;
23
- };
24
- UserLoginFailed: {
25
- connection: string;
26
- };
27
- UserMetadataAdded: {
28
- connection: string;
29
- };
30
- UserMetadataChanged: {
31
- connection: string;
32
- };
33
- UserMetadataDeleted: {
34
- connection: string;
35
- };
36
- UserPropertyChanged: {
37
- connection: string;
38
- };
39
- UserUnbanned: {
40
- connection: string;
41
- };
42
- UserPasswordChanged: {
43
- connection: string;
44
- };
45
- UserRoleGranted: {
46
- connection: string;
47
- };
48
- UserRoleRevoked: {
49
- connection: string;
50
- };
51
- };
52
- connections: {
53
- name: string;
54
- service: string;
55
- defaultQueueChannel: string;
56
- defaultTopicChannel: string;
57
- }[];
58
- };
59
- rbac: {
60
- enableGuestAccount: boolean;
61
- timeline: {
62
- schedule: string;
63
- ttl: number;
64
- };
65
- users: {
66
- emailConfimationOnCreation: boolean;
67
- };
68
- roles: {
69
- Name: string;
70
- Description: string;
71
- }[];
72
- grants: {
73
- 'admin.users': {
74
- users: {
75
- 'create:any': string[];
76
- 'read:any': string[];
77
- 'update:any': string[];
78
- 'delete:any': string[];
79
- };
80
- };
81
- user: {
82
- users: {
83
- 'read:own': string[];
84
- 'update:own': string[];
85
- };
86
- };
87
- admin: {
88
- $extend: string[];
89
- };
90
- };
91
- defaultRole: string;
92
- auth: {
93
- service: string;
94
- };
95
- password: {
96
- service: string;
97
- validation: {
98
- service: string;
99
- rule: {
100
- pattern: string;
101
- type: string;
102
- };
103
- };
104
- /**
105
- * Should password expire after some time ?
106
- */
107
- passwordExpirationTime: number;
108
- };
109
- session: {
110
- service: string;
111
- expiration: number;
112
- };
113
- };
114
- };
115
- export default rbac;
1
+ declare const rbac: {
2
+ system: {
3
+ dirs: {
4
+ cli: string[];
5
+ };
6
+ };
7
+ queue: {
8
+ routing: {
9
+ NewUser: {
10
+ connection: string;
11
+ };
12
+ UserActivated: {
13
+ connection: string;
14
+ };
15
+ UserBanned: {
16
+ connection: string;
17
+ };
18
+ UserDeactivated: {
19
+ connection: string;
20
+ };
21
+ UserDeleted: {
22
+ connection: string;
23
+ };
24
+ UserLoginFailed: {
25
+ connection: string;
26
+ };
27
+ UserMetadataAdded: {
28
+ connection: string;
29
+ };
30
+ UserMetadataChanged: {
31
+ connection: string;
32
+ };
33
+ UserMetadataDeleted: {
34
+ connection: string;
35
+ };
36
+ UserPropertyChanged: {
37
+ connection: string;
38
+ };
39
+ UserUnbanned: {
40
+ connection: string;
41
+ };
42
+ UserPasswordChanged: {
43
+ connection: string;
44
+ };
45
+ UserRoleGranted: {
46
+ connection: string;
47
+ };
48
+ UserRoleRevoked: {
49
+ connection: string;
50
+ };
51
+ };
52
+ connections: {
53
+ name: string;
54
+ service: string;
55
+ defaultQueueChannel: string;
56
+ defaultTopicChannel: string;
57
+ }[];
58
+ };
59
+ rbac: {
60
+ enableGuestAccount: boolean;
61
+ timeline: {
62
+ schedule: string;
63
+ ttl: number;
64
+ };
65
+ users: {
66
+ emailConfimationOnCreation: boolean;
67
+ };
68
+ roles: {
69
+ Name: string;
70
+ Description: string;
71
+ }[];
72
+ grants: {
73
+ 'admin.users': {
74
+ users: {
75
+ 'create:any': string[];
76
+ 'read:any': string[];
77
+ 'update:any': string[];
78
+ 'delete:any': string[];
79
+ };
80
+ };
81
+ user: {
82
+ users: {
83
+ 'read:own': string[];
84
+ 'update:own': string[];
85
+ };
86
+ };
87
+ admin: {
88
+ $extend: string[];
89
+ };
90
+ };
91
+ defaultRole: string;
92
+ auth: {
93
+ service: string;
94
+ };
95
+ password: {
96
+ service: string;
97
+ validation: {
98
+ service: string;
99
+ rule: {
100
+ pattern: string;
101
+ type: string;
102
+ };
103
+ };
104
+ /**
105
+ * Should password expire after some time ?
106
+ */
107
+ passwordExpirationTime: number;
108
+ };
109
+ session: {
110
+ service: string;
111
+ expiration: number;
112
+ };
113
+ };
114
+ };
115
+ export default rbac;
116
116
  //# sourceMappingURL=rbac.d.ts.map
@@ -1,121 +1,121 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
4
- const di_1 = require("@spinajs/di");
5
- const isESMMode = di_1.DI.get('__esmMode__');
6
- function dir(path) {
7
- return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), path)));
8
- }
9
- const rbac = {
10
- system: {
11
- dirs: {
12
- cli: [dir(`node_modules/@spinajs/cli/${isESMMode ? 'mjs/cli' : 'cjs/cli'}`)],
13
- },
14
- },
15
- queue: {
16
- routing: {
17
- NewUser: { connection: 'rbac-user-empty-queue' },
18
- UserActivated: { connection: 'rbac-user-empty-queue' },
19
- UserBanned: { connection: 'rbac-user-empty-queue' },
20
- UserDeactivated: { connection: 'rbac-user-empty-queue' },
21
- UserDeleted: { connection: 'rbac-user-empty-queue' },
22
- UserLoginFailed: { connection: 'rbac-user-empty-queue' },
23
- UserMetadataAdded: { connection: 'rbac-user-empty-queue' },
24
- UserMetadataChanged: { connection: 'rbac-user-empty-queue' },
25
- UserMetadataDeleted: { connection: 'rbac-user-empty-queue' },
26
- UserPropertyChanged: { connection: 'rbac-user-empty-queue' },
27
- UserUnbanned: { connection: 'rbac-user-empty-queue' },
28
- UserPasswordChanged: { connection: 'rbac-user-empty-queue' },
29
- UserRoleGranted: { connection: 'rbac-user-empty-queue' },
30
- UserRoleRevoked: { connection: 'rbac-user-empty-queue' },
31
- },
32
- // by default all events from rbac module are routed to rbac-user-empty-queue
33
- // and is using empty sink ( no events are sent )
34
- connections: [
35
- {
36
- name: 'rbac-user-empty-queue',
37
- service: 'BlackHoleQueueClient',
38
- defaultQueueChannel: 'rbac-jobs',
39
- defaultTopicChannel: 'rbac-events',
40
- },
41
- ],
42
- },
43
- rbac: {
44
- enableGuestAccount: false,
45
- timeline: {
46
- schedule: '1 0 */1 * *',
47
- ttl: 24 * 60,
48
- },
49
- users: {
50
- // when user is created, should he confirm email
51
- // if false, user is acvite at creation,
52
- // when true, first, user will be sent confirmation email
53
- emailConfimationOnCreation: false,
54
- },
55
- // default roles to manage users & guest account
56
- roles: [
57
- {
58
- Name: 'Admin',
59
- Description: 'Administrator',
60
- },
61
- {
62
- Name: 'User',
63
- Description: 'Simple account without any privlidge',
64
- },
65
- ],
66
- grants: {
67
- 'admin.users': {
68
- users: {
69
- 'create:any': ['*'],
70
- 'read:any': ['*'],
71
- 'update:any': ['*'],
72
- 'delete:any': ['*'],
73
- },
74
- },
75
- user: {
76
- users: {
77
- 'read:own': ['Email', 'Login'],
78
- 'update:own': ['Email', 'Login', 'Password'],
79
- },
80
- },
81
- admin: {
82
- $extend: ['admin.users'],
83
- },
84
- },
85
- defaultRole: 'guest',
86
- auth: {
87
- service: 'SimpleDbAuthProvider',
88
- },
89
- password: {
90
- service: 'BasicPasswordProvider',
91
- validation: {
92
- service: 'BasicPasswordValidationProvider',
93
- rule: {
94
- // UNCOMMENT ONE OF BELOW OR MODIFY
95
- // VALIDATION RULE IS JSON SCHEMA
96
- // Minimum eight characters, at least one letter and one number
97
- pattern: '^(?=.*[A-Za-z])(?=.*d)[A-Za-zd]{8,}$',
98
- // Minimum eight characters, at least one letter, one number and one special character:
99
- // pattern: '^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$',
100
- // Minimum eight characters, at least one uppercase letter, one lowercase letter and one number
101
- // pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$',
102
- // Minimum eight characters, at least one uppercase letter, one lowercase letter and one number
103
- // pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$',
104
- type: 'string',
105
- },
106
- },
107
- /**
108
- * Should password expire after some time ?
109
- */
110
- passwordExpirationTime: 0,
111
- },
112
- session: {
113
- service: 'MemorySessionStore',
114
- // 2h session expiration time
115
- // time in minutes
116
- expiration: 120,
117
- },
118
- },
119
- };
120
- exports.default = rbac;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path_1 = require("path");
4
+ const di_1 = require("@spinajs/di");
5
+ const isESMMode = di_1.DI.get('__esmMode__');
6
+ function dir(path) {
7
+ return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), path)));
8
+ }
9
+ const rbac = {
10
+ system: {
11
+ dirs: {
12
+ cli: [dir(`node_modules/@spinajs/cli/${isESMMode ? 'mjs/cli' : 'cjs/cli'}`)],
13
+ },
14
+ },
15
+ queue: {
16
+ routing: {
17
+ NewUser: { connection: 'rbac-user-empty-queue' },
18
+ UserActivated: { connection: 'rbac-user-empty-queue' },
19
+ UserBanned: { connection: 'rbac-user-empty-queue' },
20
+ UserDeactivated: { connection: 'rbac-user-empty-queue' },
21
+ UserDeleted: { connection: 'rbac-user-empty-queue' },
22
+ UserLoginFailed: { connection: 'rbac-user-empty-queue' },
23
+ UserMetadataAdded: { connection: 'rbac-user-empty-queue' },
24
+ UserMetadataChanged: { connection: 'rbac-user-empty-queue' },
25
+ UserMetadataDeleted: { connection: 'rbac-user-empty-queue' },
26
+ UserPropertyChanged: { connection: 'rbac-user-empty-queue' },
27
+ UserUnbanned: { connection: 'rbac-user-empty-queue' },
28
+ UserPasswordChanged: { connection: 'rbac-user-empty-queue' },
29
+ UserRoleGranted: { connection: 'rbac-user-empty-queue' },
30
+ UserRoleRevoked: { connection: 'rbac-user-empty-queue' },
31
+ },
32
+ // by default all events from rbac module are routed to rbac-user-empty-queue
33
+ // and is using empty sink ( no events are sent )
34
+ connections: [
35
+ {
36
+ name: 'rbac-user-empty-queue',
37
+ service: 'BlackHoleQueueClient',
38
+ defaultQueueChannel: 'rbac-jobs',
39
+ defaultTopicChannel: 'rbac-events',
40
+ },
41
+ ],
42
+ },
43
+ rbac: {
44
+ enableGuestAccount: false,
45
+ timeline: {
46
+ schedule: '1 0 */1 * *',
47
+ ttl: 24 * 60,
48
+ },
49
+ users: {
50
+ // when user is created, should he confirm email
51
+ // if false, user is acvite at creation,
52
+ // when true, first, user will be sent confirmation email
53
+ emailConfimationOnCreation: false,
54
+ },
55
+ // default roles to manage users & guest account
56
+ roles: [
57
+ {
58
+ Name: 'Admin',
59
+ Description: 'Administrator',
60
+ },
61
+ {
62
+ Name: 'User',
63
+ Description: 'Simple account without any privlidge',
64
+ },
65
+ ],
66
+ grants: {
67
+ 'admin.users': {
68
+ users: {
69
+ 'create:any': ['*'],
70
+ 'read:any': ['*'],
71
+ 'update:any': ['*'],
72
+ 'delete:any': ['*'],
73
+ },
74
+ },
75
+ user: {
76
+ users: {
77
+ 'read:own': ['Email', 'Login'],
78
+ 'update:own': ['Email', 'Login', 'Password'],
79
+ },
80
+ },
81
+ admin: {
82
+ $extend: ['admin.users'],
83
+ },
84
+ },
85
+ defaultRole: 'guest',
86
+ auth: {
87
+ service: 'SimpleDbAuthProvider',
88
+ },
89
+ password: {
90
+ service: 'BasicPasswordProvider',
91
+ validation: {
92
+ service: 'BasicPasswordValidationProvider',
93
+ rule: {
94
+ // UNCOMMENT ONE OF BELOW OR MODIFY
95
+ // VALIDATION RULE IS JSON SCHEMA
96
+ // Minimum eight characters, at least one letter and one number
97
+ pattern: '^(?=.*[A-Za-z])(?=.*d)[A-Za-zd]{8,}$',
98
+ // Minimum eight characters, at least one letter, one number and one special character:
99
+ // pattern: '^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$',
100
+ // Minimum eight characters, at least one uppercase letter, one lowercase letter and one number
101
+ // pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$',
102
+ // Minimum eight characters, at least one uppercase letter, one lowercase letter and one number
103
+ // pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$',
104
+ type: 'string',
105
+ },
106
+ },
107
+ /**
108
+ * Should password expire after some time ?
109
+ */
110
+ passwordExpirationTime: 0,
111
+ },
112
+ session: {
113
+ service: 'MemorySessionStore',
114
+ // 2h session expiration time
115
+ // time in minutes
116
+ expiration: 120,
117
+ },
118
+ },
119
+ };
120
+ exports.default = rbac;
121
121
  //# sourceMappingURL=rbac.js.map
@@ -1,9 +1,9 @@
1
- /**
2
- * Assign resource name for given model ( RBAC ).
3
- * NOTE: this decorator is optional, if model does not have resource assigned
4
- * model name will be used as default
5
- *
6
- * @param name - table name in database that is referred by this model
7
- */
8
- export declare function OrmResource(resourceName: string): any;
1
+ /**
2
+ * Assign resource name for given model ( RBAC ).
3
+ * NOTE: this decorator is optional, if model does not have resource assigned
4
+ * model name will be used as default
5
+ *
6
+ * @param name - table name in database that is referred by this model
7
+ */
8
+ export declare function OrmResource(resourceName: string): any;
9
9
  //# sourceMappingURL=Resource.d.ts.map
@@ -1,18 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrmResource = void 0;
4
- const orm_1 = require("@spinajs/orm");
5
- /**
6
- * Assign resource name for given model ( RBAC ).
7
- * NOTE: this decorator is optional, if model does not have resource assigned
8
- * model name will be used as default
9
- *
10
- * @param name - table name in database that is referred by this model
11
- */
12
- function OrmResource(resourceName) {
13
- return (0, orm_1.extractDecoratorDescriptor)((model) => {
14
- model.RbacResource = resourceName;
15
- }, false);
16
- }
17
- exports.OrmResource = OrmResource;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrmResource = void 0;
4
+ const orm_1 = require("@spinajs/orm");
5
+ /**
6
+ * Assign resource name for given model ( RBAC ).
7
+ * NOTE: this decorator is optional, if model does not have resource assigned
8
+ * model name will be used as default
9
+ *
10
+ * @param name - table name in database that is referred by this model
11
+ */
12
+ function OrmResource(resourceName) {
13
+ return (0, orm_1.extractDecoratorDescriptor)((model) => {
14
+ model.RbacResource = resourceName;
15
+ }, false);
16
+ }
17
+ exports.OrmResource = OrmResource;
18
18
  //# sourceMappingURL=Resource.js.map
@@ -1,13 +1,13 @@
1
- import { QueueEvent } from '@spinajs/queue';
2
- import { DateTime } from 'luxon';
3
- export declare class UserRegisteredMessage extends QueueEvent {
4
- Uuid: string;
5
- Email: string;
6
- Login: string;
7
- Role: string[];
8
- RegisteredAt: DateTime;
9
- IsBanned: boolean;
10
- IsActive: boolean;
11
- Metadata: {};
12
- }
1
+ import { QueueEvent } from '@spinajs/queue';
2
+ import { DateTime } from 'luxon';
3
+ export declare class UserRegisteredMessage extends QueueEvent {
4
+ Uuid: string;
5
+ Email: string;
6
+ Login: string;
7
+ Role: string[];
8
+ RegisteredAt: DateTime;
9
+ IsBanned: boolean;
10
+ IsActive: boolean;
11
+ Metadata: {};
12
+ }
13
13
  //# sourceMappingURL=NewUser.d.ts.map
@@ -1,17 +1,17 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.UserRegisteredMessage = void 0;
10
- const queue_1 = require("@spinajs/queue");
11
- let UserRegisteredMessage = class UserRegisteredMessage extends queue_1.QueueEvent {
12
- };
13
- UserRegisteredMessage = __decorate([
14
- (0, queue_1.Event)()
15
- ], UserRegisteredMessage);
16
- exports.UserRegisteredMessage = UserRegisteredMessage;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UserRegisteredMessage = void 0;
10
+ const queue_1 = require("@spinajs/queue");
11
+ let UserRegisteredMessage = class UserRegisteredMessage extends queue_1.QueueEvent {
12
+ };
13
+ exports.UserRegisteredMessage = UserRegisteredMessage;
14
+ exports.UserRegisteredMessage = UserRegisteredMessage = __decorate([
15
+ (0, queue_1.Event)()
16
+ ], UserRegisteredMessage);
17
17
  //# sourceMappingURL=NewUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewUser.js","sourceRoot":"","sources":["../../../src/events/NewUser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAAmD;AAI5C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,kBAAU;CAgBpD,CAAA;AAhBY,qBAAqB;IADjC,IAAA,aAAK,GAAE;GACK,qBAAqB,CAgBjC;AAhBY,sDAAqB"}
1
+ {"version":3,"file":"NewUser.js","sourceRoot":"","sources":["../../../src/events/NewUser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAAmD;AAI5C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,kBAAU;CAgBpD,CAAA;AAhBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,aAAK,GAAE;GACK,qBAAqB,CAgBjC"}
@@ -1,6 +1,6 @@
1
- import { QueueEvent } from '@spinajs/queue';
2
- export declare class UserActivated extends QueueEvent {
3
- UserUUID: string;
4
- constructor(UserUUID: string);
5
- }
1
+ import { QueueEvent } from '@spinajs/queue';
2
+ export declare class UserActivated extends QueueEvent {
3
+ UserUUID: string;
4
+ constructor(UserUUID: string);
5
+ }
6
6
  //# sourceMappingURL=UserActivated.d.ts.map
@@ -1,25 +1,25 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserActivated = void 0;
13
- const queue_1 = require("@spinajs/queue");
14
- let UserActivated = class UserActivated extends queue_1.QueueEvent {
15
- constructor(UserUUID) {
16
- super();
17
- this.UserUUID = UserUUID;
18
- }
19
- };
20
- UserActivated = __decorate([
21
- (0, queue_1.Event)(),
22
- __metadata("design:paramtypes", [String])
23
- ], UserActivated);
24
- exports.UserActivated = UserActivated;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserActivated = void 0;
13
+ const queue_1 = require("@spinajs/queue");
14
+ let UserActivated = class UserActivated extends queue_1.QueueEvent {
15
+ constructor(UserUUID) {
16
+ super();
17
+ this.UserUUID = UserUUID;
18
+ }
19
+ };
20
+ exports.UserActivated = UserActivated;
21
+ exports.UserActivated = UserActivated = __decorate([
22
+ (0, queue_1.Event)(),
23
+ __metadata("design:paramtypes", [String])
24
+ ], UserActivated);
25
25
  //# sourceMappingURL=UserActivated.js.map