@spinajs/rbac 2.0.185 → 2.0.186

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 (321) hide show
  1. package/lib/cjs/actions.d.ts +75 -0
  2. package/lib/cjs/actions.d.ts.map +1 -0
  3. package/lib/cjs/actions.js +266 -0
  4. package/lib/cjs/actions.js.map +1 -0
  5. package/lib/cjs/auth.d.ts +5 -5
  6. package/lib/cjs/auth.d.ts.map +1 -1
  7. package/lib/cjs/auth.js +24 -51
  8. package/lib/cjs/auth.js.map +1 -1
  9. package/lib/cjs/cli/ActivateUser.d.ts.map +1 -1
  10. package/lib/cjs/cli/ActivateUser.js +6 -11
  11. package/lib/cjs/cli/ActivateUser.js.map +1 -1
  12. package/lib/cjs/cli/BanUser.d.ts +1 -3
  13. package/lib/cjs/cli/BanUser.d.ts.map +1 -1
  14. package/lib/cjs/cli/BanUser.js +9 -34
  15. package/lib/cjs/cli/BanUser.js.map +1 -1
  16. package/lib/cjs/cli/ChangeUserPassword.d.ts +0 -5
  17. package/lib/cjs/cli/ChangeUserPassword.d.ts.map +1 -1
  18. package/lib/cjs/cli/ChangeUserPassword.js +8 -29
  19. package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
  20. package/lib/cjs/cli/CreateUser.d.ts +0 -4
  21. package/lib/cjs/cli/CreateUser.d.ts.map +1 -1
  22. package/lib/cjs/cli/CreateUser.js +6 -37
  23. package/lib/cjs/cli/CreateUser.js.map +1 -1
  24. package/lib/cjs/cli/DeleteUser.d.ts.map +1 -1
  25. package/lib/cjs/cli/DeleteUser.js +13 -6
  26. package/lib/cjs/cli/DeleteUser.js.map +1 -1
  27. package/lib/cjs/cli/FindUser.d.ts +1 -7
  28. package/lib/cjs/cli/FindUser.d.ts.map +1 -1
  29. package/lib/cjs/cli/FindUser.js +8 -18
  30. package/lib/cjs/cli/FindUser.js.map +1 -1
  31. package/lib/cjs/cli/GrantUserRole.d.ts +0 -2
  32. package/lib/cjs/cli/GrantUserRole.d.ts.map +1 -1
  33. package/lib/cjs/cli/GrantUserRole.js +13 -18
  34. package/lib/cjs/cli/GrantUserRole.js.map +1 -1
  35. package/lib/cjs/cli/RevokeUserRole.d.ts +0 -2
  36. package/lib/cjs/cli/RevokeUserRole.d.ts.map +1 -1
  37. package/lib/cjs/cli/RevokeUserRole.js +13 -17
  38. package/lib/cjs/cli/RevokeUserRole.js.map +1 -1
  39. package/lib/cjs/cli/UnbanUserSchedule.d.ts.map +1 -1
  40. package/lib/cjs/cli/UnbanUserSchedule.js +1 -15
  41. package/lib/cjs/cli/UnbanUserSchedule.js.map +1 -1
  42. package/lib/cjs/config/rbac.d.ts +45 -16
  43. package/lib/cjs/config/rbac.d.ts.map +1 -1
  44. package/lib/cjs/config/rbac.js +44 -10
  45. package/lib/cjs/config/rbac.js.map +1 -1
  46. package/lib/cjs/events/UserActivated.d.ts +2 -4
  47. package/lib/cjs/events/UserActivated.d.ts.map +1 -1
  48. package/lib/cjs/events/UserActivated.js +3 -10
  49. package/lib/cjs/events/UserActivated.js.map +1 -1
  50. package/lib/cjs/events/UserBanned.d.ts +2 -5
  51. package/lib/cjs/events/UserBanned.d.ts.map +1 -1
  52. package/lib/cjs/events/UserBanned.js +3 -11
  53. package/lib/cjs/events/UserBanned.js.map +1 -1
  54. package/lib/{mjs/events/NewUser.d.ts → cjs/events/UserCreated.d.ts} +4 -3
  55. package/lib/cjs/events/UserCreated.d.ts.map +1 -0
  56. package/lib/cjs/events/{UserMetadataDeleted.js → UserCreated.js} +10 -10
  57. package/lib/cjs/events/UserCreated.js.map +1 -0
  58. package/lib/cjs/events/UserDeactivated.d.ts +2 -4
  59. package/lib/cjs/events/UserDeactivated.d.ts.map +1 -1
  60. package/lib/cjs/events/UserDeactivated.js +3 -10
  61. package/lib/cjs/events/UserDeactivated.js.map +1 -1
  62. package/lib/cjs/events/UserDeleted.d.ts +2 -4
  63. package/lib/cjs/events/UserDeleted.d.ts.map +1 -1
  64. package/lib/cjs/events/UserDeleted.js +3 -10
  65. package/lib/cjs/events/UserDeleted.js.map +1 -1
  66. package/lib/cjs/events/UserEvent.d.ts +7 -0
  67. package/lib/cjs/events/UserEvent.d.ts.map +1 -0
  68. package/lib/cjs/events/{UserMetadataAdded.js → UserEvent.js} +10 -9
  69. package/lib/cjs/events/UserEvent.js.map +1 -0
  70. package/lib/cjs/events/UserLogged.d.ts +4 -0
  71. package/lib/cjs/events/UserLogged.d.ts.map +1 -0
  72. package/lib/cjs/events/{NewUser.js → UserLogged.js} +7 -6
  73. package/lib/cjs/events/UserLogged.js.map +1 -0
  74. package/lib/cjs/events/UserLoginFailed.d.ts +7 -0
  75. package/lib/cjs/events/UserLoginFailed.d.ts.map +1 -0
  76. package/lib/cjs/events/{UserMetadataChanged.js → UserLoginFailed.js} +12 -10
  77. package/lib/cjs/events/UserLoginFailed.js.map +1 -0
  78. package/lib/cjs/events/UserMetadataChange.d.ts +14 -0
  79. package/lib/cjs/events/UserMetadataChange.d.ts.map +1 -0
  80. package/lib/cjs/events/UserMetadataChange.js +28 -0
  81. package/lib/cjs/events/UserMetadataChange.js.map +1 -0
  82. package/lib/cjs/events/UserPasswordChangeRequest.d.ts +4 -0
  83. package/lib/cjs/events/UserPasswordChangeRequest.d.ts.map +1 -0
  84. package/lib/cjs/events/UserPasswordChangeRequest.js +18 -0
  85. package/lib/cjs/events/UserPasswordChangeRequest.js.map +1 -0
  86. package/lib/cjs/events/UserPasswordChanged.d.ts +2 -4
  87. package/lib/cjs/events/UserPasswordChanged.d.ts.map +1 -1
  88. package/lib/cjs/events/UserPasswordChanged.js +3 -10
  89. package/lib/cjs/events/UserPasswordChanged.js.map +1 -1
  90. package/lib/cjs/events/UserPropertyChanged.d.ts +2 -6
  91. package/lib/cjs/events/UserPropertyChanged.d.ts.map +1 -1
  92. package/lib/cjs/events/UserPropertyChanged.js +6 -5
  93. package/lib/cjs/events/UserPropertyChanged.js.map +1 -1
  94. package/lib/cjs/events/UserRoleGranted.d.ts +5 -4
  95. package/lib/cjs/events/UserRoleGranted.d.ts.map +1 -1
  96. package/lib/cjs/events/UserRoleGranted.js +7 -5
  97. package/lib/cjs/events/UserRoleGranted.js.map +1 -1
  98. package/lib/cjs/events/UserRoleRevoked.d.ts +5 -4
  99. package/lib/cjs/events/UserRoleRevoked.d.ts.map +1 -1
  100. package/lib/cjs/events/UserRoleRevoked.js +7 -5
  101. package/lib/cjs/events/UserRoleRevoked.js.map +1 -1
  102. package/lib/cjs/events/UserUnbanned.d.ts +2 -4
  103. package/lib/cjs/events/UserUnbanned.d.ts.map +1 -1
  104. package/lib/cjs/events/UserUnbanned.js +3 -10
  105. package/lib/cjs/events/UserUnbanned.js.map +1 -1
  106. package/lib/cjs/events/index.d.ts +4 -4
  107. package/lib/cjs/events/index.d.ts.map +1 -1
  108. package/lib/cjs/events/index.js +4 -4
  109. package/lib/cjs/events/index.js.map +1 -1
  110. package/lib/cjs/index.d.ts +1 -1
  111. package/lib/cjs/index.d.ts.map +1 -1
  112. package/lib/cjs/index.js +1 -1
  113. package/lib/cjs/index.js.map +1 -1
  114. package/lib/cjs/interfaces.d.ts +11 -33
  115. package/lib/cjs/interfaces.d.ts.map +1 -1
  116. package/lib/cjs/interfaces.js +4 -4
  117. package/lib/cjs/interfaces.js.map +1 -1
  118. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts.map +1 -1
  119. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js +3 -14
  120. package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
  121. package/lib/cjs/models/User.d.ts +94 -28
  122. package/lib/cjs/models/User.d.ts.map +1 -1
  123. package/lib/cjs/models/User.js +150 -105
  124. package/lib/cjs/models/User.js.map +1 -1
  125. package/lib/cjs/models/UserMetadata.d.ts +2 -6
  126. package/lib/cjs/models/UserMetadata.d.ts.map +1 -1
  127. package/lib/cjs/models/UserMetadata.js +1 -9
  128. package/lib/cjs/models/UserMetadata.js.map +1 -1
  129. package/lib/cjs/session.d.ts +1 -1
  130. package/lib/cjs/session.d.ts.map +1 -1
  131. package/lib/cjs/session.js +6 -6
  132. package/lib/cjs/session.js.map +1 -1
  133. package/lib/mjs/actions.d.ts +75 -0
  134. package/lib/mjs/actions.d.ts.map +1 -0
  135. package/lib/mjs/actions.js +242 -0
  136. package/lib/mjs/actions.js.map +1 -0
  137. package/lib/mjs/auth.d.ts +5 -5
  138. package/lib/mjs/auth.d.ts.map +1 -1
  139. package/lib/mjs/auth.js +24 -51
  140. package/lib/mjs/auth.js.map +1 -1
  141. package/lib/mjs/cli/ActivateUser.d.ts.map +1 -1
  142. package/lib/mjs/cli/ActivateUser.js +6 -11
  143. package/lib/mjs/cli/ActivateUser.js.map +1 -1
  144. package/lib/mjs/cli/BanUser.d.ts +1 -3
  145. package/lib/mjs/cli/BanUser.d.ts.map +1 -1
  146. package/lib/mjs/cli/BanUser.js +9 -34
  147. package/lib/mjs/cli/BanUser.js.map +1 -1
  148. package/lib/mjs/cli/ChangeUserPassword.d.ts +0 -5
  149. package/lib/mjs/cli/ChangeUserPassword.d.ts.map +1 -1
  150. package/lib/mjs/cli/ChangeUserPassword.js +8 -29
  151. package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
  152. package/lib/mjs/cli/CreateUser.d.ts +0 -4
  153. package/lib/mjs/cli/CreateUser.d.ts.map +1 -1
  154. package/lib/mjs/cli/CreateUser.js +6 -37
  155. package/lib/mjs/cli/CreateUser.js.map +1 -1
  156. package/lib/mjs/cli/DeleteUser.d.ts.map +1 -1
  157. package/lib/mjs/cli/DeleteUser.js +13 -6
  158. package/lib/mjs/cli/DeleteUser.js.map +1 -1
  159. package/lib/mjs/cli/FindUser.d.ts +1 -7
  160. package/lib/mjs/cli/FindUser.d.ts.map +1 -1
  161. package/lib/mjs/cli/FindUser.js +8 -18
  162. package/lib/mjs/cli/FindUser.js.map +1 -1
  163. package/lib/mjs/cli/GrantUserRole.d.ts +0 -2
  164. package/lib/mjs/cli/GrantUserRole.d.ts.map +1 -1
  165. package/lib/mjs/cli/GrantUserRole.js +13 -15
  166. package/lib/mjs/cli/GrantUserRole.js.map +1 -1
  167. package/lib/mjs/cli/RevokeUserRole.d.ts +0 -2
  168. package/lib/mjs/cli/RevokeUserRole.d.ts.map +1 -1
  169. package/lib/mjs/cli/RevokeUserRole.js +13 -14
  170. package/lib/mjs/cli/RevokeUserRole.js.map +1 -1
  171. package/lib/mjs/cli/UnbanUserSchedule.d.ts.map +1 -1
  172. package/lib/mjs/cli/UnbanUserSchedule.js +1 -15
  173. package/lib/mjs/cli/UnbanUserSchedule.js.map +1 -1
  174. package/lib/mjs/config/rbac.d.ts +45 -16
  175. package/lib/mjs/config/rbac.d.ts.map +1 -1
  176. package/lib/mjs/config/rbac.js +44 -10
  177. package/lib/mjs/config/rbac.js.map +1 -1
  178. package/lib/mjs/events/UserActivated.d.ts +2 -4
  179. package/lib/mjs/events/UserActivated.d.ts.map +1 -1
  180. package/lib/mjs/events/UserActivated.js +4 -11
  181. package/lib/mjs/events/UserActivated.js.map +1 -1
  182. package/lib/mjs/events/UserBanned.d.ts +2 -5
  183. package/lib/mjs/events/UserBanned.d.ts.map +1 -1
  184. package/lib/mjs/events/UserBanned.js +4 -12
  185. package/lib/mjs/events/UserBanned.js.map +1 -1
  186. package/lib/{cjs/events/NewUser.d.ts → mjs/events/UserCreated.d.ts} +4 -3
  187. package/lib/mjs/events/UserCreated.d.ts.map +1 -0
  188. package/lib/mjs/events/{UserMetadataChanged.js → UserCreated.js} +10 -10
  189. package/lib/mjs/events/UserCreated.js.map +1 -0
  190. package/lib/mjs/events/UserDeactivated.d.ts +2 -4
  191. package/lib/mjs/events/UserDeactivated.d.ts.map +1 -1
  192. package/lib/mjs/events/UserDeactivated.js +4 -11
  193. package/lib/mjs/events/UserDeactivated.js.map +1 -1
  194. package/lib/mjs/events/UserDeleted.d.ts +2 -4
  195. package/lib/mjs/events/UserDeleted.d.ts.map +1 -1
  196. package/lib/mjs/events/UserDeleted.js +4 -11
  197. package/lib/mjs/events/UserDeleted.js.map +1 -1
  198. package/lib/mjs/events/UserEvent.d.ts +7 -0
  199. package/lib/mjs/events/UserEvent.d.ts.map +1 -0
  200. package/lib/mjs/events/{UserMetadataAdded.js → UserEvent.js} +9 -8
  201. package/lib/mjs/events/UserEvent.js.map +1 -0
  202. package/lib/mjs/events/UserLogged.d.ts +4 -0
  203. package/lib/mjs/events/UserLogged.d.ts.map +1 -0
  204. package/lib/mjs/events/{NewUser.js → UserLogged.js} +7 -6
  205. package/lib/mjs/events/UserLogged.js.map +1 -0
  206. package/lib/mjs/events/UserLoginFailed.d.ts +7 -0
  207. package/lib/mjs/events/UserLoginFailed.d.ts.map +1 -0
  208. package/lib/mjs/events/{UserMetadataDeleted.js → UserLoginFailed.js} +12 -10
  209. package/lib/mjs/events/UserLoginFailed.js.map +1 -0
  210. package/lib/mjs/events/UserMetadataChange.d.ts +14 -0
  211. package/lib/mjs/events/UserMetadataChange.d.ts.map +1 -0
  212. package/lib/mjs/events/UserMetadataChange.js +25 -0
  213. package/lib/mjs/events/UserMetadataChange.js.map +1 -0
  214. package/lib/mjs/events/UserPasswordChangeRequest.d.ts +4 -0
  215. package/lib/mjs/events/UserPasswordChangeRequest.d.ts.map +1 -0
  216. package/lib/mjs/events/UserPasswordChangeRequest.js +15 -0
  217. package/lib/mjs/events/UserPasswordChangeRequest.js.map +1 -0
  218. package/lib/mjs/events/UserPasswordChanged.d.ts +2 -4
  219. package/lib/mjs/events/UserPasswordChanged.d.ts.map +1 -1
  220. package/lib/mjs/events/UserPasswordChanged.js +4 -11
  221. package/lib/mjs/events/UserPasswordChanged.js.map +1 -1
  222. package/lib/mjs/events/UserPropertyChanged.d.ts +2 -6
  223. package/lib/mjs/events/UserPropertyChanged.d.ts.map +1 -1
  224. package/lib/mjs/events/UserPropertyChanged.js +6 -5
  225. package/lib/mjs/events/UserPropertyChanged.js.map +1 -1
  226. package/lib/mjs/events/UserRoleGranted.d.ts +5 -4
  227. package/lib/mjs/events/UserRoleGranted.d.ts.map +1 -1
  228. package/lib/mjs/events/UserRoleGranted.js +8 -6
  229. package/lib/mjs/events/UserRoleGranted.js.map +1 -1
  230. package/lib/mjs/events/UserRoleRevoked.d.ts +5 -4
  231. package/lib/mjs/events/UserRoleRevoked.d.ts.map +1 -1
  232. package/lib/mjs/events/UserRoleRevoked.js +8 -6
  233. package/lib/mjs/events/UserRoleRevoked.js.map +1 -1
  234. package/lib/mjs/events/UserUnbanned.d.ts +2 -4
  235. package/lib/mjs/events/UserUnbanned.d.ts.map +1 -1
  236. package/lib/mjs/events/UserUnbanned.js +4 -11
  237. package/lib/mjs/events/UserUnbanned.js.map +1 -1
  238. package/lib/mjs/events/index.d.ts +4 -4
  239. package/lib/mjs/events/index.d.ts.map +1 -1
  240. package/lib/mjs/events/index.js +4 -4
  241. package/lib/mjs/events/index.js.map +1 -1
  242. package/lib/mjs/index.d.ts +1 -1
  243. package/lib/mjs/index.d.ts.map +1 -1
  244. package/lib/mjs/index.js +1 -1
  245. package/lib/mjs/index.js.map +1 -1
  246. package/lib/mjs/interfaces.d.ts +11 -33
  247. package/lib/mjs/interfaces.d.ts.map +1 -1
  248. package/lib/mjs/interfaces.js +4 -4
  249. package/lib/mjs/interfaces.js.map +1 -1
  250. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts.map +1 -1
  251. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js +3 -14
  252. package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
  253. package/lib/mjs/models/User.d.ts +94 -28
  254. package/lib/mjs/models/User.d.ts.map +1 -1
  255. package/lib/mjs/models/User.js +150 -105
  256. package/lib/mjs/models/User.js.map +1 -1
  257. package/lib/mjs/models/UserMetadata.d.ts +2 -6
  258. package/lib/mjs/models/UserMetadata.d.ts.map +1 -1
  259. package/lib/mjs/models/UserMetadata.js +2 -10
  260. package/lib/mjs/models/UserMetadata.js.map +1 -1
  261. package/lib/mjs/session.d.ts +1 -1
  262. package/lib/mjs/session.d.ts.map +1 -1
  263. package/lib/mjs/session.js +5 -5
  264. package/lib/mjs/session.js.map +1 -1
  265. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  266. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  267. package/package.json +16 -18
  268. package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts +0 -9
  269. package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts.map +0 -1
  270. package/lib/cjs/cli/ClearUserTimelineSchedule.js +0 -55
  271. package/lib/cjs/cli/ClearUserTimelineSchedule.js.map +0 -1
  272. package/lib/cjs/cli/LatestUserEvents.d.ts +0 -7
  273. package/lib/cjs/cli/LatestUserEvents.d.ts.map +0 -1
  274. package/lib/cjs/cli/LatestUserEvents.js +0 -38
  275. package/lib/cjs/cli/LatestUserEvents.js.map +0 -1
  276. package/lib/cjs/events/NewUser.d.ts.map +0 -1
  277. package/lib/cjs/events/NewUser.js.map +0 -1
  278. package/lib/cjs/events/UserMetadataAdded.d.ts +0 -6
  279. package/lib/cjs/events/UserMetadataAdded.d.ts.map +0 -1
  280. package/lib/cjs/events/UserMetadataAdded.js.map +0 -1
  281. package/lib/cjs/events/UserMetadataChanged.d.ts +0 -6
  282. package/lib/cjs/events/UserMetadataChanged.d.ts.map +0 -1
  283. package/lib/cjs/events/UserMetadataChanged.js.map +0 -1
  284. package/lib/cjs/events/UserMetadataDeleted.d.ts +0 -6
  285. package/lib/cjs/events/UserMetadataDeleted.d.ts.map +0 -1
  286. package/lib/cjs/events/UserMetadataDeleted.js.map +0 -1
  287. package/lib/cjs/jobs/UnbanUser.d.ts +0 -10
  288. package/lib/cjs/jobs/UnbanUser.d.ts.map +0 -1
  289. package/lib/cjs/jobs/UnbanUser.js +0 -44
  290. package/lib/cjs/jobs/UnbanUser.js.map +0 -1
  291. package/lib/cjs/models/UserTimeline.d.ts +0 -29
  292. package/lib/cjs/models/UserTimeline.d.ts.map +0 -1
  293. package/lib/cjs/models/UserTimeline.js +0 -47
  294. package/lib/cjs/models/UserTimeline.js.map +0 -1
  295. package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts +0 -9
  296. package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts.map +0 -1
  297. package/lib/mjs/cli/ClearUserTimelineSchedule.js +0 -52
  298. package/lib/mjs/cli/ClearUserTimelineSchedule.js.map +0 -1
  299. package/lib/mjs/cli/LatestUserEvents.d.ts +0 -7
  300. package/lib/mjs/cli/LatestUserEvents.d.ts.map +0 -1
  301. package/lib/mjs/cli/LatestUserEvents.js +0 -35
  302. package/lib/mjs/cli/LatestUserEvents.js.map +0 -1
  303. package/lib/mjs/events/NewUser.d.ts.map +0 -1
  304. package/lib/mjs/events/NewUser.js.map +0 -1
  305. package/lib/mjs/events/UserMetadataAdded.d.ts +0 -6
  306. package/lib/mjs/events/UserMetadataAdded.d.ts.map +0 -1
  307. package/lib/mjs/events/UserMetadataAdded.js.map +0 -1
  308. package/lib/mjs/events/UserMetadataChanged.d.ts +0 -6
  309. package/lib/mjs/events/UserMetadataChanged.d.ts.map +0 -1
  310. package/lib/mjs/events/UserMetadataChanged.js.map +0 -1
  311. package/lib/mjs/events/UserMetadataDeleted.d.ts +0 -6
  312. package/lib/mjs/events/UserMetadataDeleted.d.ts.map +0 -1
  313. package/lib/mjs/events/UserMetadataDeleted.js.map +0 -1
  314. package/lib/mjs/jobs/UnbanUser.d.ts +0 -10
  315. package/lib/mjs/jobs/UnbanUser.d.ts.map +0 -1
  316. package/lib/mjs/jobs/UnbanUser.js +0 -41
  317. package/lib/mjs/jobs/UnbanUser.js.map +0 -1
  318. package/lib/mjs/models/UserTimeline.d.ts +0 -29
  319. package/lib/mjs/models/UserTimeline.d.ts.map +0 -1
  320. package/lib/mjs/models/UserTimeline.js +0 -44
  321. package/lib/mjs/models/UserTimeline.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ import { User } from './models/User.js';
2
+ import { Constructor } from '@spinajs/di';
3
+ import { UserEvent } from './events/UserEvent.js';
4
+ export declare enum E_CODES {
5
+ E_TOKEN_EXPIRED = 0,
6
+ E_TOKEN_INVALID = 1,
7
+ E_PASSWORD_DOES_NOT_MEET_REQUIREMENTS = 2,
8
+ E_USER_NOT_FOUND = 3,
9
+ E_USER_ALREADY_EXISTS = 4,
10
+ E_USER_NOT_ACTIVE = 5,
11
+ E_USER_BANNED = 6,
12
+ E_METADATA_NOT_FOUND = 7,
13
+ E_METADATA_NOT_POPULATED = 8,
14
+ E_EMAIL_NOT_CONFIGURED = 9,
15
+ E_NO_EMAIL_TEMPLATE = 10,
16
+ E_NOT_LOGGED = 11
17
+ }
18
+ /**
19
+ * ===============================================
20
+ * HELPER FUNCTIONS
21
+ * ===============================================
22
+ */
23
+ export declare function _set_user_meta(meta: string | {
24
+ key: string;
25
+ value: any;
26
+ }[], value?: any): (u: User) => Promise<User>;
27
+ export declare function _get_user_meta(key: string): (u: User) => Promise<any>;
28
+ /**
29
+ * Helper function for sending user notification emails
30
+ * Templates are defined in rbac configuration
31
+ *
32
+ * @param cfgTemplate
33
+ * @returns
34
+ */
35
+ export declare function _user_email(cfgTemplate: 'changePassword' | 'created' | 'confirm' | 'deactivated' | 'activated' | 'deleted' | 'unbanned' | 'banned'): (u: User) => Promise<void>;
36
+ export declare function _user_ev(event: Constructor<UserEvent>, ...args: any[]): (u: User) => Promise<User>;
37
+ export declare function _user_update(data?: Partial<User>): (u: User) => Promise<User>;
38
+ export declare function _user(identifier: number | string | User): () => Promise<User>;
39
+ /**
40
+ * ===============================================
41
+ * USER ACTIONS
42
+ * ===============================================
43
+ */
44
+ export declare function activate(identifier: number | string | User): Promise<unknown>;
45
+ export declare function deactivate(identifier: number | string): Promise<void>;
46
+ export declare function create(email: string, login: string, password: string, roles: string[]): Promise<{
47
+ User: User;
48
+ Password: string;
49
+ }>;
50
+ export declare function deleteUser(identifier: number | string | User): Promise<void>;
51
+ export declare function grant(identifier: number | string, role: string): Promise<User>;
52
+ export declare function revoke(identifier: number | string | User, role: string): Promise<User>;
53
+ /**
54
+ *
55
+ * Bans user for specified time. If duration is 0 user is banned for 24h
56
+ *
57
+ * @param identifier user identifier one of : id, uuid, email, login
58
+ * @param reason reson for ban
59
+ * @param duration duration in seconds
60
+ * @returns
61
+ */
62
+ export declare function ban(identifier: number | string | User, reason?: string, duration?: number): Promise<User>;
63
+ /**
64
+ *
65
+ * Unban user
66
+ *
67
+ * @param identifier
68
+ * @returns
69
+ */
70
+ export declare function unban(identifier: number | string | User): Promise<User>;
71
+ export declare function passwordChangeRequest(identifier: number | string | User): Promise<unknown>;
72
+ export declare function confirmPasswordReset(identifier: number | string | User, newPassword: string, token: string): Promise<unknown>;
73
+ export declare function changePassword(password: string): Promise<(u: User) => Promise<User>>;
74
+ export declare function auth(identifier: number | string | User, password: string): Promise<User>;
75
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.auth = exports.changePassword = exports.confirmPasswordReset = exports.passwordChangeRequest = exports.unban = exports.ban = exports.revoke = exports.grant = exports.deleteUser = exports.create = exports.deactivate = exports.activate = exports._user = exports._user_update = exports._user_ev = exports._user_email = exports._get_user_meta = exports._set_user_meta = exports.E_CODES = void 0;
7
+ const orm_1 = require("@spinajs/orm");
8
+ const util_1 = require("@spinajs/util");
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const email_1 = require("@spinajs/email");
11
+ const queue_1 = require("@spinajs/queue");
12
+ const User_js_1 = require("./models/User.js");
13
+ const configuration_1 = require("@spinajs/configuration");
14
+ const index_js_1 = require("./events/index.js");
15
+ const interfaces_js_1 = require("./interfaces.js");
16
+ const luxon_1 = require("luxon");
17
+ const exceptions_1 = require("@spinajs/exceptions");
18
+ const uuid_1 = require("uuid");
19
+ const UserLoginFailed_js_1 = require("./events/UserLoginFailed.js");
20
+ const UserMetadataChange_js_1 = require("./events/UserMetadataChange.js");
21
+ var E_CODES;
22
+ (function (E_CODES) {
23
+ E_CODES[E_CODES["E_TOKEN_EXPIRED"] = 0] = "E_TOKEN_EXPIRED";
24
+ E_CODES[E_CODES["E_TOKEN_INVALID"] = 1] = "E_TOKEN_INVALID";
25
+ E_CODES[E_CODES["E_PASSWORD_DOES_NOT_MEET_REQUIREMENTS"] = 2] = "E_PASSWORD_DOES_NOT_MEET_REQUIREMENTS";
26
+ E_CODES[E_CODES["E_USER_NOT_FOUND"] = 3] = "E_USER_NOT_FOUND";
27
+ E_CODES[E_CODES["E_USER_ALREADY_EXISTS"] = 4] = "E_USER_ALREADY_EXISTS";
28
+ E_CODES[E_CODES["E_USER_NOT_ACTIVE"] = 5] = "E_USER_NOT_ACTIVE";
29
+ E_CODES[E_CODES["E_USER_BANNED"] = 6] = "E_USER_BANNED";
30
+ E_CODES[E_CODES["E_METADATA_NOT_FOUND"] = 7] = "E_METADATA_NOT_FOUND";
31
+ E_CODES[E_CODES["E_METADATA_NOT_POPULATED"] = 8] = "E_METADATA_NOT_POPULATED";
32
+ E_CODES[E_CODES["E_EMAIL_NOT_CONFIGURED"] = 9] = "E_EMAIL_NOT_CONFIGURED";
33
+ E_CODES[E_CODES["E_NO_EMAIL_TEMPLATE"] = 10] = "E_NO_EMAIL_TEMPLATE";
34
+ E_CODES[E_CODES["E_NOT_LOGGED"] = 11] = "E_NOT_LOGGED";
35
+ })(E_CODES || (exports.E_CODES = E_CODES = {}));
36
+ /**
37
+ * ===============================================
38
+ * HELPER FUNCTIONS
39
+ * ===============================================
40
+ */
41
+ function _set_user_meta(meta, value = null) {
42
+ return async (u) => {
43
+ const mArgs = (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u })), (0, util_1._to_array)())(meta, 'Metadata');
44
+ mArgs.forEach((m) => {
45
+ lodash_1.default.isString(m) ? (u.Metadata[m] = value) : (u.Metadata[m.key] = m.value);
46
+ });
47
+ await (0, util_1._chain)(u, (0, util_1._tap)(() => u.Metadata.sync()), _user_ev(UserMetadataChange_js_1.UserMetadataChange, () => {
48
+ return mArgs.map((m) => {
49
+ return lodash_1.default.isString(m) ? { key: m, value } : m;
50
+ });
51
+ }));
52
+ return u;
53
+ };
54
+ }
55
+ exports._set_user_meta = _set_user_meta;
56
+ function _get_user_meta(key) {
57
+ return async (u) => {
58
+ (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u, key })))(u.Metadata, 'Metadata');
59
+ (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_METADATA_NOT_FOUND, 'Metadata not found in user data', { user: u, key })))(u.Metadata[key], `Metadata.${key}`);
60
+ return u.Metadata[key];
61
+ };
62
+ }
63
+ exports._get_user_meta = _get_user_meta;
64
+ /**
65
+ * Helper function for sending user notification emails
66
+ * Templates are defined in rbac configuration
67
+ *
68
+ * @param cfgTemplate
69
+ * @returns
70
+ */
71
+ function _user_email(cfgTemplate) {
72
+ return async (u) => {
73
+ return (0, util_1._chain)((0, util_1._use)((0, configuration_1._cfg)('rbac.email.connection', 'default'), 'connection'), (0, util_1._use)((0, configuration_1._cfg)(`rbac.email.${cfgTemplate}`), 'template'), ({ connection, template }) => {
74
+ (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_NO_EMAIL_TEMPLATE, `Email template ${cfgTemplate} not configured. Check rbac.email in config`)))(template, 'template');
75
+ (0, util_1._check_arg)((0, util_1._is_string)((0, util_1._non_empty)(), (0, util_1._max_length)(128)))(template.template, 'email.template');
76
+ (0, util_1._check_arg)((0, util_1._is_string)((0, util_1._non_empty)(), (0, util_1._max_length)(128)))(template.subject, 'email.subject');
77
+ return (template.enabled &&
78
+ (0, email_1._email_deferred)({
79
+ to: [u.Email],
80
+ connection,
81
+ model: u.toJSON(),
82
+ tag: `rbac-user-${cfgTemplate}`,
83
+ template: template.template,
84
+ subject: template.subject,
85
+ }));
86
+ });
87
+ };
88
+ }
89
+ exports._user_email = _user_email;
90
+ function _user_ev(event, ...args) {
91
+ return async (u) => {
92
+ await (0, queue_1._ev)(new event(u, ...args))();
93
+ return u;
94
+ };
95
+ }
96
+ exports._user_ev = _user_ev;
97
+ function _user_update(data) {
98
+ return async (u) => {
99
+ await (0, util_1._chain)(u, (0, orm_1._update)(data), _user_ev(index_js_1.UserChanged));
100
+ return u;
101
+ };
102
+ }
103
+ exports._user_update = _user_update;
104
+ function _user(identifier) {
105
+ const id = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_nil)())(identifier, 'identifier');
106
+ if (id instanceof User_js_1.User) {
107
+ return () => Promise.resolve(id);
108
+ }
109
+ return () => User_js_1.User.query().whereAnything(id).populate('Metadata').firstOrFail();
110
+ }
111
+ exports._user = _user;
112
+ /**
113
+ * ===============================================
114
+ * USER ACTIONS
115
+ * ===============================================
116
+ */
117
+ async function activate(identifier) {
118
+ return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: true }), _user_ev(index_js_1.UserActivated), _user_email('activated'));
119
+ }
120
+ exports.activate = activate;
121
+ async function deactivate(identifier) {
122
+ return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: false }), _user_ev(index_js_1.UserDeactivated), _user_email('deactivated'));
123
+ }
124
+ exports.deactivate = deactivate;
125
+ async function create(email, login, password, roles) {
126
+ const sPassword = await (0, configuration_1._service)('rbac.password', interfaces_js_1.PasswordProvider)();
127
+ email = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._is_email)(), (0, util_1._max_length)(64))(email, 'email');
128
+ login = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._max_length)(32))(login, 'login');
129
+ password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._default)(() => sPassword.generate()))(password, 'password');
130
+ const hPassword = await sPassword.hash(password);
131
+ return (0, util_1._chain)(
132
+ // create user
133
+ () => Promise.resolve(new User_js_1.User({
134
+ Email: email,
135
+ Login: login,
136
+ Password: hPassword,
137
+ Role: roles,
138
+ RegisteredAt: luxon_1.DateTime.now(),
139
+ IsActive: false,
140
+ Uuid: (0, uuid_1.v4)(),
141
+ })),
142
+ // insert to db
143
+ (0, orm_1._insert)(),
144
+ // send event
145
+ _user_ev(index_js_1.UserCreated, (u) => u.toJSON()),
146
+ // send email if needed
147
+ (0, util_1._tap)(_user_email('confirm')), // send email
148
+ // return user & password - if generated we want to know not hashed password
149
+ (u) => {
150
+ return { User: u, Password: password };
151
+ });
152
+ }
153
+ exports.create = create;
154
+ async function deleteUser(identifier) {
155
+ return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => u.destroy()), _user_ev(index_js_1.UserDeleted), _user_email('deleted'));
156
+ }
157
+ exports.deleteUser = deleteUser;
158
+ async function grant(identifier, role) {
159
+ role = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(role, 'role');
160
+ return (0, util_1._chain)(_user(identifier), (0, util_1._tap)(async (u) => (u.Role = lodash_1.default.uniq([...u.Role, role]))), _user_update(), _user_ev(index_js_1.UserRoleGranted, role));
161
+ }
162
+ exports.grant = grant;
163
+ async function revoke(identifier, role) {
164
+ role = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(role, 'role');
165
+ return (0, util_1._chain)(_user(identifier), (0, util_1._tap)(async (u) => (u.Role = u.Role.filter((r) => r !== role))), _user_update(), _user_ev(index_js_1.UserRoleRevoked, role));
166
+ }
167
+ exports.revoke = revoke;
168
+ /**
169
+ *
170
+ * Bans user for specified time. If duration is 0 user is banned for 24h
171
+ *
172
+ * @param identifier user identifier one of : id, uuid, email, login
173
+ * @param reason reson for ban
174
+ * @param duration duration in seconds
175
+ * @returns
176
+ */
177
+ async function ban(identifier, reason, duration) {
178
+ duration = (0, util_1._check_arg)((0, util_1._default)(24 * 60 * 60), (0, util_1._is_number)((0, util_1._gt)(0)))(duration, 'duration');
179
+ reason = (0, util_1._check_arg)((0, util_1._default)('NO_REASON'), (0, util_1._max_length)(255))(reason, 'reason');
180
+ return (0, util_1._chain)(_user(identifier), (u) => {
181
+ if (u.Metadata[User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED]) {
182
+ throw new exceptions_1.ErrorCode(E_CODES.E_USER_BANNED, `User is already banned`, { user: u });
183
+ }
184
+ return u;
185
+ }, _set_user_meta([
186
+ { key: User_js_1.USER_COMMON_METADATA.USER_BAN_DURATION, value: duration },
187
+ { key: User_js_1.USER_COMMON_METADATA.USER_BAN_REASON, value: reason },
188
+ { key: User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED, value: true },
189
+ { key: User_js_1.USER_COMMON_METADATA.USER_BAN_START_DATE, value: luxon_1.DateTime.now() },
190
+ ]), _user_ev(index_js_1.UserBanned), _user_email('banned'));
191
+ }
192
+ exports.ban = ban;
193
+ /**
194
+ *
195
+ * Unban user
196
+ *
197
+ * @param identifier
198
+ * @returns
199
+ */
200
+ async function unban(identifier) {
201
+ return (0, util_1._chain)(_user(identifier), (u) => {
202
+ if (!u.Metadata[User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED]) {
203
+ throw new exceptions_1.ErrorCode(E_CODES.E_USER_BANNED, `User is already unbanned`, { user: u });
204
+ }
205
+ }, _set_user_meta('/^user:ban/', null), _user_ev(index_js_1.UserUnbanned), _user_email('unbanned'));
206
+ }
207
+ exports.unban = unban;
208
+ async function passwordChangeRequest(identifier) {
209
+ const pwdWaitTime = await (0, configuration_1._cfg)('rbac.password.reset_wait_time')();
210
+ return (0, util_1._chain)(_user(identifier), _set_user_meta([
211
+ { key: User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_START_DATE, value: luxon_1.DateTime.now() },
212
+ { key: User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_TOKEN, value: (0, uuid_1.v4)() },
213
+ { key: User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME, value: pwdWaitTime },
214
+ ]), _user_ev(index_js_1.UserPasswordChangeRequest), _user_email('changePassword'));
215
+ }
216
+ exports.passwordChangeRequest = passwordChangeRequest;
217
+ async function confirmPasswordReset(identifier, newPassword, token) {
218
+ return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => (0, util_1._chain)(u, (0, util_1._zip)(_get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_START_DATE), _get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME)), ([dueDate, waitTime]) => {
219
+ if (dueDate.plus(waitTime) < luxon_1.DateTime.now()) {
220
+ throw new exceptions_1.ErrorCode(E_CODES.E_TOKEN_EXPIRED, `Password change token expired, token expiration date is: ${dueDate.toISO()}`, {
221
+ dueDate,
222
+ waitTime,
223
+ time: luxon_1.DateTime.now(),
224
+ user: u,
225
+ });
226
+ }
227
+ })), (0, util_1._tap)((u) => (0, util_1._chain)(u, _get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_TOKEN), async (resetToken) => {
228
+ if (resetToken !== token) {
229
+ throw new exceptions_1.ErrorCode(E_CODES.E_TOKEN_INVALID, `Password change token invalid, operation not permitted`, {
230
+ token,
231
+ resetToken,
232
+ user: u,
233
+ });
234
+ }
235
+ })), changePassword(newPassword));
236
+ }
237
+ exports.confirmPasswordReset = confirmPasswordReset;
238
+ async function changePassword(password) {
239
+ password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(password, 'password');
240
+ return async (u) => {
241
+ return (0, util_1._chain)((0, util_1._use)((0, configuration_1._service)('rbac.password', interfaces_js_1.PasswordProvider), 'pwd'), (0, util_1._use)((0, configuration_1._service)('rbac.password.validation', interfaces_js_1.PasswordValidationProvider), 'validator'), (0, util_1._tap)(async ({ validator }) => {
242
+ if (!validator.check(password)) {
243
+ throw new Error('Password does not meet requirements');
244
+ }
245
+ }),
246
+ // update password
247
+ ({ pwd }) => pwd.hash(password), (hPassword) => (0, util_1._chain)(u, (0, orm_1._update)({ Password: hPassword }), _set_user_meta('/^user:pwd_reset/'), _user_ev(index_js_1.UserPasswordChanged)));
248
+ };
249
+ }
250
+ exports.changePassword = changePassword;
251
+ async function auth(identifier, password) {
252
+ password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(password, 'password');
253
+ return await (0, util_1._chain)(_user(identifier), (0, util_1._catch)((u) => {
254
+ return (0, util_1._chain)((0, configuration_1._service)('rbac.auth', interfaces_js_1.AuthProvider), async (sAuth) => sAuth.authenticate(u.Email, password), (0, orm_1._update)({ LastLoginAt: luxon_1.DateTime.now() }), _user_ev(index_js_1.UserLogged));
255
+ }, (err, u) => {
256
+ return (0, util_1._chain)(() => u,
257
+ // send event of failed login
258
+ _user_ev(UserLoginFailed_js_1.UserLoginFailed, err),
259
+ // rethrow error for caller
260
+ () => {
261
+ throw err;
262
+ });
263
+ }));
264
+ }
265
+ exports.auth = auth;
266
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
package/lib/cjs/auth.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AuthProvider, IAuthenticationResult, PasswordProvider } from './interfaces.js';
1
+ import { AuthProvider, PasswordProvider } from './interfaces.js';
2
2
  import { User } from './models/User.js';
3
3
  import { IContainer } from '@spinajs/di';
4
4
  export declare class SimpleDbAuthProvider implements AuthProvider<User> {
@@ -8,9 +8,9 @@ export declare class SimpleDbAuthProvider implements AuthProvider<User> {
8
8
  getByLogin(login: string): Promise<User>;
9
9
  getByEmail(email: string): Promise<User>;
10
10
  getByUUID(uuid: string): Promise<User>;
11
- authenticate(email: string, password: string): Promise<IAuthenticationResult<User>>;
12
- isBanned(email: string): Promise<boolean>;
13
- isActive(email: string): Promise<boolean>;
14
- isDeleted(email: string): Promise<boolean>;
11
+ authenticate(email: string, password: string): Promise<User>;
12
+ isBanned(userOrEmail: User | string): Promise<boolean>;
13
+ isActive(userOrEmail: User | string): Promise<boolean>;
14
+ isDeleted(userOrEmail: User | string): Promise<boolean>;
15
15
  }
16
16
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAyB,UAAU,EAAc,MAAM,aAAa,CAAC;AAG5E,qBACa,oBAAqB,YAAW,YAAY,CAAC,IAAI,CAAC;IAE7D,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhC,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAgDnF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIxD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAyB,UAAU,EAAc,MAAM,aAAa,CAAC;AAK5E,qBACa,oBAAqB,YAAW,YAAY,CAAC,IAAI,CAAC;IAE7D,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhC,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5D,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD,SAAS,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIrE"}
package/lib/cjs/auth.js CHANGED
@@ -14,6 +14,8 @@ const interfaces_js_1 = require("./interfaces.js");
14
14
  const User_js_1 = require("./models/User.js");
15
15
  const di_1 = require("@spinajs/di");
16
16
  const configuration_1 = require("@spinajs/configuration");
17
+ const util_1 = require("@spinajs/util");
18
+ const exceptions_1 = require("@spinajs/exceptions");
17
19
  let SimpleDbAuthProvider = class SimpleDbAuthProvider {
18
20
  async exists(userOrEmail) {
19
21
  const result = await User_js_1.User.where('Email', userOrEmail instanceof User_js_1.User ? userOrEmail.Email : userOrEmail).first();
@@ -23,70 +25,41 @@ let SimpleDbAuthProvider = class SimpleDbAuthProvider {
23
25
  return false;
24
26
  }
25
27
  async getByLogin(login) {
26
- const result = await User_js_1.User.where('Login', login).first();
27
- return result;
28
+ return await User_js_1.User.getByLogin(login);
28
29
  }
29
30
  async getByEmail(email) {
30
- const result = await User_js_1.User.where('Email', email).first();
31
- return result;
31
+ return User_js_1.User.getByEmail(email);
32
32
  }
33
33
  async getByUUID(uuid) {
34
- const result = await User_js_1.User.where('Uuid', uuid).first();
35
- return result;
34
+ return User_js_1.User.getByUuid(uuid);
36
35
  }
37
36
  async authenticate(email, password) {
38
- const result = await User_js_1.User.where({ Email: email, DeletedAt: null }).first();
39
- const eInvalidCredentials = {
40
- Error: {
41
- Code: interfaces_js_1.AthenticationErrorCodes.E_INVALID_CREDENTIALS,
42
- Message: 'Invalid user credentials, or user not exist.',
43
- },
44
- };
45
- /**
46
- * If user not exists, is deleted, or password dont match
47
- * return E_INVALID_CREDENTIALS for security reasons ( so attaker wont now if email is valid, or password don match)
48
- */
49
- if (!result) {
50
- return eInvalidCredentials;
51
- }
52
- const valid = await this.PasswordProvider.verify(result.Password, password);
37
+ (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._is_email)(), (0, util_1._max_length)(64))(email, 'email');
38
+ (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._max_length)(64))(password, 'password');
39
+ const user = await User_js_1.User.query().whereEmail(email).notDeleted().populate('Metadata').firstOrThrow(new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_INVALID_CREDENTIALS));
40
+ const valid = await this.PasswordProvider.verify(user.Password, password);
53
41
  if (!valid) {
54
- return {
55
- User: undefined,
56
- ...eInvalidCredentials,
57
- };
42
+ throw new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_INVALID_CREDENTIALS);
58
43
  }
59
- if (result.IsBanned) {
60
- return {
61
- User: result,
62
- Error: {
63
- Code: interfaces_js_1.AthenticationErrorCodes.E_USER_BANNED,
64
- },
65
- };
44
+ if (user.IsBanned) {
45
+ throw new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_USER_BANNED);
66
46
  }
67
- if (result.IsActive) {
68
- return {
69
- User: result,
70
- Error: {
71
- Code: interfaces_js_1.AthenticationErrorCodes.E_USER_NOT_ACTIVE,
72
- },
73
- };
47
+ if (!user.IsActive) {
48
+ throw new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_USER_NOT_ACTIVE);
74
49
  }
75
- return {
76
- User: result,
77
- };
50
+ return user;
78
51
  }
79
- async isBanned(email) {
80
- const result = await User_js_1.User.where({ Email: email, IsBanned: true }).first();
81
- return result !== null;
52
+ async isBanned(userOrEmail) {
53
+ const result = await User_js_1.User.query().whereUser(userOrEmail).checkIsBanned();
54
+ return result;
82
55
  }
83
- async isActive(email) {
84
- const result = await User_js_1.User.where({ Email: email, IsActive: true }).first();
85
- return result !== null;
56
+ async isActive(userOrEmail) {
57
+ const result = await User_js_1.User.query().whereUser(userOrEmail).checkIsActive();
58
+ return result;
86
59
  }
87
- async isDeleted(email) {
88
- const result = await User_js_1.User.where('Email', email).whereNotNull('DeletedAt').first();
89
- return result !== null;
60
+ async isDeleted(userOrEmail) {
61
+ const result = await User_js_1.User.query().whereUser(userOrEmail).notDeleted().first();
62
+ return result === undefined;
90
63
  }
91
64
  };
92
65
  exports.SimpleDbAuthProvider = SimpleDbAuthProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivateUser.d.ts","sourceRoot":"","sources":["../../../src/cli/ActivateUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAK7D,qBAGa,YAAa,SAAQ,UAAU;IAE1C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAEjB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAavE"}
1
+ {"version":3,"file":"ActivateUser.d.ts","sourceRoot":"","sources":["../../../src/cli/ActivateUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAI7D,qBAGa,YAAa,SAAQ,UAAU;IAE1C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAEjB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CASvE"}
@@ -10,24 +10,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ActivateUser = void 0;
13
- const UserDeactivated_js_1 = require("./../events/UserDeactivated.js");
14
- //import { UserBannedMessage } from './../messages/UserBanned';
15
13
  const Queue_1 = require("@spinajs/Queue");
16
14
  const log_1 = require("@spinajs/log");
17
15
  const cli_1 = require("@spinajs/cli");
18
16
  const di_1 = require("@spinajs/di");
19
- const User_js_1 = require("../models/User.js");
20
- const UserActivated_js_1 = require("../events/UserActivated.js");
17
+ const actions_js_1 = require("../actions.js");
21
18
  let ActivateUser = class ActivateUser extends cli_1.CliCommand {
22
19
  async execute(idOrUuid, active) {
23
- const result = await User_js_1.User.update({ IsActive: active }).where('Id', idOrUuid).orWhere('Uuid', idOrUuid);
24
- if (result.RowsAffected > 0) {
25
- const event = active ? new UserActivated_js_1.UserActivated(idOrUuid) : new UserDeactivated_js_1.UserDeactivated(idOrUuid);
26
- this.Queue.emit(event);
27
- this.Log.success(`User activation status changed to ${active}`);
20
+ try {
21
+ await active ? (0, actions_js_1.activate)(idOrUuid) : (0, actions_js_1.deactivate)(idOrUuid);
22
+ this.Log.success(`User ${idOrUuid} ${active ? 'activated' : 'deactivated'}`);
28
23
  }
29
- else {
30
- this.Log.warn(`No user with id: ${idOrUuid} found`);
24
+ catch (e) {
25
+ this.Log.error(`Error while activating user user ${idOrUuid} ${e.message}`);
31
26
  }
32
27
  }
33
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ActivateUser.js","sourceRoot":"","sources":["../../../src/cli/ActivateUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAAiE;AACjE,+DAA+D;AAC/D,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,+CAAyC;AACzC,iEAA2D;AAKpD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;IAOnC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,MAAM,cAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEvG,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,gCAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,oCAAe,CAAC,QAAQ,CAAC,CAAC;YAEnF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,QAAQ,QAAQ,CAAC,CAAC;SACrD;IACH,CAAC;CACF,CAAA;AApBY,oCAAY;AAEb;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;yCAAC;AAGT;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;2CAAC;uBALnB,YAAY;IAHxB,IAAA,aAAO,EAAC,oBAAoB,EAAE,8BAA8B,CAAC;IAC7D,IAAA,cAAQ,EAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,IAAA,cAAQ,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;GAC9F,YAAY,CAoBxB"}
1
+ {"version":3,"file":"ActivateUser.js","sourceRoot":"","sources":["../../../src/cli/ActivateUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,8CAAqD;AAK9C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;IAOnC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAAe;QACpD,IAAI;YACF,MAAM,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;SAC9E;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC7E;IACH,CAAC;CACF,CAAA;AAhBY,oCAAY;AAEb;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;yCAAC;AAGT;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;2CAAC;uBALnB,YAAY;IAHxB,IAAA,aAAO,EAAC,oBAAoB,EAAE,8BAA8B,CAAC;IAC7D,IAAA,cAAQ,EAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,IAAA,cAAQ,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;GAC9F,YAAY,CAgBxB"}
@@ -1,9 +1,7 @@
1
- import { QueueService } from '@spinajs/Queue';
2
1
  import { Log } from '@spinajs/log';
3
2
  import { CliCommand } from '@spinajs/cli';
4
3
  export declare class BanUser extends CliCommand {
5
4
  protected Log: Log;
6
- protected Queue: QueueService;
7
- execute(idOrUuid: string, ban: boolean, duration: number): Promise<void>;
5
+ execute(idOrUuid: string, banOrUnban: boolean, duration: number, reason: string): Promise<void>;
8
6
  }
9
7
  //# sourceMappingURL=BanUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BanUser.d.ts","sourceRoot":"","sources":["../../../src/cli/BanUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAQ7D,qBAIa,OAAQ,SAAQ,UAAU;IAErC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAEjB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA8BtF"}
1
+ {"version":3,"file":"BanUser.d.ts","sourceRoot":"","sources":["../../../src/cli/BanUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAG7D,qBAKa,OAAQ,SAAQ,UAAU;IAErC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAU7G"}