@spinajs/rbac 2.0.185 → 2.0.187
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/actions.d.ts +75 -0
- package/lib/cjs/actions.d.ts.map +1 -0
- package/lib/cjs/actions.js +266 -0
- package/lib/cjs/actions.js.map +1 -0
- package/lib/cjs/auth.d.ts +5 -5
- package/lib/cjs/auth.d.ts.map +1 -1
- package/lib/cjs/auth.js +24 -51
- package/lib/cjs/auth.js.map +1 -1
- package/lib/cjs/cli/ActivateUser.d.ts.map +1 -1
- package/lib/cjs/cli/ActivateUser.js +6 -11
- package/lib/cjs/cli/ActivateUser.js.map +1 -1
- package/lib/cjs/cli/BanUser.d.ts +1 -3
- package/lib/cjs/cli/BanUser.d.ts.map +1 -1
- package/lib/cjs/cli/BanUser.js +9 -34
- package/lib/cjs/cli/BanUser.js.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.d.ts +0 -5
- package/lib/cjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.js +8 -29
- package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/cjs/cli/CreateUser.d.ts +0 -4
- package/lib/cjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/cjs/cli/CreateUser.js +6 -37
- package/lib/cjs/cli/CreateUser.js.map +1 -1
- package/lib/cjs/cli/DeleteUser.d.ts.map +1 -1
- package/lib/cjs/cli/DeleteUser.js +13 -6
- package/lib/cjs/cli/DeleteUser.js.map +1 -1
- package/lib/cjs/cli/FindUser.d.ts +1 -7
- package/lib/cjs/cli/FindUser.d.ts.map +1 -1
- package/lib/cjs/cli/FindUser.js +8 -18
- package/lib/cjs/cli/FindUser.js.map +1 -1
- package/lib/cjs/cli/GrantUserRole.d.ts +0 -2
- package/lib/cjs/cli/GrantUserRole.d.ts.map +1 -1
- package/lib/cjs/cli/GrantUserRole.js +13 -18
- package/lib/cjs/cli/GrantUserRole.js.map +1 -1
- package/lib/cjs/cli/RevokeUserRole.d.ts +0 -2
- package/lib/cjs/cli/RevokeUserRole.d.ts.map +1 -1
- package/lib/cjs/cli/RevokeUserRole.js +13 -17
- package/lib/cjs/cli/RevokeUserRole.js.map +1 -1
- package/lib/cjs/cli/UnbanUserSchedule.d.ts.map +1 -1
- package/lib/cjs/cli/UnbanUserSchedule.js +1 -15
- package/lib/cjs/cli/UnbanUserSchedule.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +45 -16
- package/lib/cjs/config/rbac.d.ts.map +1 -1
- package/lib/cjs/config/rbac.js +44 -10
- package/lib/cjs/config/rbac.js.map +1 -1
- package/lib/cjs/events/UserActivated.d.ts +2 -4
- package/lib/cjs/events/UserActivated.d.ts.map +1 -1
- package/lib/cjs/events/UserActivated.js +3 -10
- package/lib/cjs/events/UserActivated.js.map +1 -1
- package/lib/cjs/events/UserBanned.d.ts +2 -5
- package/lib/cjs/events/UserBanned.d.ts.map +1 -1
- package/lib/cjs/events/UserBanned.js +3 -11
- package/lib/cjs/events/UserBanned.js.map +1 -1
- package/lib/{mjs/events/NewUser.d.ts → cjs/events/UserCreated.d.ts} +4 -3
- package/lib/cjs/events/UserCreated.d.ts.map +1 -0
- package/lib/cjs/events/{UserMetadataDeleted.js → UserCreated.js} +10 -10
- package/lib/cjs/events/UserCreated.js.map +1 -0
- package/lib/cjs/events/UserDeactivated.d.ts +2 -4
- package/lib/cjs/events/UserDeactivated.d.ts.map +1 -1
- package/lib/cjs/events/UserDeactivated.js +3 -10
- package/lib/cjs/events/UserDeactivated.js.map +1 -1
- package/lib/cjs/events/UserDeleted.d.ts +2 -4
- package/lib/cjs/events/UserDeleted.d.ts.map +1 -1
- package/lib/cjs/events/UserDeleted.js +3 -10
- package/lib/cjs/events/UserDeleted.js.map +1 -1
- package/lib/cjs/events/UserEvent.d.ts +7 -0
- package/lib/cjs/events/UserEvent.d.ts.map +1 -0
- package/lib/cjs/events/{UserMetadataAdded.js → UserEvent.js} +10 -9
- package/lib/cjs/events/UserEvent.js.map +1 -0
- package/lib/cjs/events/UserLogged.d.ts +4 -0
- package/lib/cjs/events/UserLogged.d.ts.map +1 -0
- package/lib/cjs/events/{NewUser.js → UserLogged.js} +7 -6
- package/lib/cjs/events/UserLogged.js.map +1 -0
- package/lib/cjs/events/UserLoginFailed.d.ts +7 -0
- package/lib/cjs/events/UserLoginFailed.d.ts.map +1 -0
- package/lib/cjs/events/{UserMetadataChanged.js → UserLoginFailed.js} +12 -10
- package/lib/cjs/events/UserLoginFailed.js.map +1 -0
- package/lib/cjs/events/UserMetadataChange.d.ts +14 -0
- package/lib/cjs/events/UserMetadataChange.d.ts.map +1 -0
- package/lib/cjs/events/UserMetadataChange.js +28 -0
- package/lib/cjs/events/UserMetadataChange.js.map +1 -0
- package/lib/cjs/events/UserPasswordChangeRequest.d.ts +4 -0
- package/lib/cjs/events/UserPasswordChangeRequest.d.ts.map +1 -0
- package/lib/cjs/events/UserPasswordChangeRequest.js +18 -0
- package/lib/cjs/events/UserPasswordChangeRequest.js.map +1 -0
- package/lib/cjs/events/UserPasswordChanged.d.ts +2 -4
- package/lib/cjs/events/UserPasswordChanged.d.ts.map +1 -1
- package/lib/cjs/events/UserPasswordChanged.js +3 -10
- package/lib/cjs/events/UserPasswordChanged.js.map +1 -1
- package/lib/cjs/events/UserPropertyChanged.d.ts +2 -6
- package/lib/cjs/events/UserPropertyChanged.d.ts.map +1 -1
- package/lib/cjs/events/UserPropertyChanged.js +6 -5
- package/lib/cjs/events/UserPropertyChanged.js.map +1 -1
- package/lib/cjs/events/UserRoleGranted.d.ts +5 -4
- package/lib/cjs/events/UserRoleGranted.d.ts.map +1 -1
- package/lib/cjs/events/UserRoleGranted.js +7 -5
- package/lib/cjs/events/UserRoleGranted.js.map +1 -1
- package/lib/cjs/events/UserRoleRevoked.d.ts +5 -4
- package/lib/cjs/events/UserRoleRevoked.d.ts.map +1 -1
- package/lib/cjs/events/UserRoleRevoked.js +7 -5
- package/lib/cjs/events/UserRoleRevoked.js.map +1 -1
- package/lib/cjs/events/UserUnbanned.d.ts +2 -4
- package/lib/cjs/events/UserUnbanned.d.ts.map +1 -1
- package/lib/cjs/events/UserUnbanned.js +3 -10
- package/lib/cjs/events/UserUnbanned.js.map +1 -1
- package/lib/cjs/events/index.d.ts +4 -4
- package/lib/cjs/events/index.d.ts.map +1 -1
- package/lib/cjs/events/index.js +4 -4
- package/lib/cjs/events/index.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +11 -33
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +4 -4
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts.map +1 -1
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js +3 -14
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/cjs/models/User.d.ts +94 -28
- package/lib/cjs/models/User.d.ts.map +1 -1
- package/lib/cjs/models/User.js +150 -105
- package/lib/cjs/models/User.js.map +1 -1
- package/lib/cjs/models/UserMetadata.d.ts +2 -6
- package/lib/cjs/models/UserMetadata.d.ts.map +1 -1
- package/lib/cjs/models/UserMetadata.js +1 -9
- package/lib/cjs/models/UserMetadata.js.map +1 -1
- package/lib/cjs/session.d.ts +1 -1
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +6 -6
- package/lib/cjs/session.js.map +1 -1
- package/lib/mjs/actions.d.ts +75 -0
- package/lib/mjs/actions.d.ts.map +1 -0
- package/lib/mjs/actions.js +242 -0
- package/lib/mjs/actions.js.map +1 -0
- package/lib/mjs/auth.d.ts +5 -5
- package/lib/mjs/auth.d.ts.map +1 -1
- package/lib/mjs/auth.js +24 -51
- package/lib/mjs/auth.js.map +1 -1
- package/lib/mjs/cli/ActivateUser.d.ts.map +1 -1
- package/lib/mjs/cli/ActivateUser.js +6 -11
- package/lib/mjs/cli/ActivateUser.js.map +1 -1
- package/lib/mjs/cli/BanUser.d.ts +1 -3
- package/lib/mjs/cli/BanUser.d.ts.map +1 -1
- package/lib/mjs/cli/BanUser.js +9 -34
- package/lib/mjs/cli/BanUser.js.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.d.ts +0 -5
- package/lib/mjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.js +8 -29
- package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/mjs/cli/CreateUser.d.ts +0 -4
- package/lib/mjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/mjs/cli/CreateUser.js +6 -37
- package/lib/mjs/cli/CreateUser.js.map +1 -1
- package/lib/mjs/cli/DeleteUser.d.ts.map +1 -1
- package/lib/mjs/cli/DeleteUser.js +13 -6
- package/lib/mjs/cli/DeleteUser.js.map +1 -1
- package/lib/mjs/cli/FindUser.d.ts +1 -7
- package/lib/mjs/cli/FindUser.d.ts.map +1 -1
- package/lib/mjs/cli/FindUser.js +8 -18
- package/lib/mjs/cli/FindUser.js.map +1 -1
- package/lib/mjs/cli/GrantUserRole.d.ts +0 -2
- package/lib/mjs/cli/GrantUserRole.d.ts.map +1 -1
- package/lib/mjs/cli/GrantUserRole.js +13 -15
- package/lib/mjs/cli/GrantUserRole.js.map +1 -1
- package/lib/mjs/cli/RevokeUserRole.d.ts +0 -2
- package/lib/mjs/cli/RevokeUserRole.d.ts.map +1 -1
- package/lib/mjs/cli/RevokeUserRole.js +13 -14
- package/lib/mjs/cli/RevokeUserRole.js.map +1 -1
- package/lib/mjs/cli/UnbanUserSchedule.d.ts.map +1 -1
- package/lib/mjs/cli/UnbanUserSchedule.js +1 -15
- package/lib/mjs/cli/UnbanUserSchedule.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +45 -16
- package/lib/mjs/config/rbac.d.ts.map +1 -1
- package/lib/mjs/config/rbac.js +44 -10
- package/lib/mjs/config/rbac.js.map +1 -1
- package/lib/mjs/events/UserActivated.d.ts +2 -4
- package/lib/mjs/events/UserActivated.d.ts.map +1 -1
- package/lib/mjs/events/UserActivated.js +4 -11
- package/lib/mjs/events/UserActivated.js.map +1 -1
- package/lib/mjs/events/UserBanned.d.ts +2 -5
- package/lib/mjs/events/UserBanned.d.ts.map +1 -1
- package/lib/mjs/events/UserBanned.js +4 -12
- package/lib/mjs/events/UserBanned.js.map +1 -1
- package/lib/{cjs/events/NewUser.d.ts → mjs/events/UserCreated.d.ts} +4 -3
- package/lib/mjs/events/UserCreated.d.ts.map +1 -0
- package/lib/mjs/events/{UserMetadataChanged.js → UserCreated.js} +10 -10
- package/lib/mjs/events/UserCreated.js.map +1 -0
- package/lib/mjs/events/UserDeactivated.d.ts +2 -4
- package/lib/mjs/events/UserDeactivated.d.ts.map +1 -1
- package/lib/mjs/events/UserDeactivated.js +4 -11
- package/lib/mjs/events/UserDeactivated.js.map +1 -1
- package/lib/mjs/events/UserDeleted.d.ts +2 -4
- package/lib/mjs/events/UserDeleted.d.ts.map +1 -1
- package/lib/mjs/events/UserDeleted.js +4 -11
- package/lib/mjs/events/UserDeleted.js.map +1 -1
- package/lib/mjs/events/UserEvent.d.ts +7 -0
- package/lib/mjs/events/UserEvent.d.ts.map +1 -0
- package/lib/mjs/events/{UserMetadataAdded.js → UserEvent.js} +9 -8
- package/lib/mjs/events/UserEvent.js.map +1 -0
- package/lib/mjs/events/UserLogged.d.ts +4 -0
- package/lib/mjs/events/UserLogged.d.ts.map +1 -0
- package/lib/mjs/events/{NewUser.js → UserLogged.js} +7 -6
- package/lib/mjs/events/UserLogged.js.map +1 -0
- package/lib/mjs/events/UserLoginFailed.d.ts +7 -0
- package/lib/mjs/events/UserLoginFailed.d.ts.map +1 -0
- package/lib/mjs/events/{UserMetadataDeleted.js → UserLoginFailed.js} +12 -10
- package/lib/mjs/events/UserLoginFailed.js.map +1 -0
- package/lib/mjs/events/UserMetadataChange.d.ts +14 -0
- package/lib/mjs/events/UserMetadataChange.d.ts.map +1 -0
- package/lib/mjs/events/UserMetadataChange.js +25 -0
- package/lib/mjs/events/UserMetadataChange.js.map +1 -0
- package/lib/mjs/events/UserPasswordChangeRequest.d.ts +4 -0
- package/lib/mjs/events/UserPasswordChangeRequest.d.ts.map +1 -0
- package/lib/mjs/events/UserPasswordChangeRequest.js +15 -0
- package/lib/mjs/events/UserPasswordChangeRequest.js.map +1 -0
- package/lib/mjs/events/UserPasswordChanged.d.ts +2 -4
- package/lib/mjs/events/UserPasswordChanged.d.ts.map +1 -1
- package/lib/mjs/events/UserPasswordChanged.js +4 -11
- package/lib/mjs/events/UserPasswordChanged.js.map +1 -1
- package/lib/mjs/events/UserPropertyChanged.d.ts +2 -6
- package/lib/mjs/events/UserPropertyChanged.d.ts.map +1 -1
- package/lib/mjs/events/UserPropertyChanged.js +6 -5
- package/lib/mjs/events/UserPropertyChanged.js.map +1 -1
- package/lib/mjs/events/UserRoleGranted.d.ts +5 -4
- package/lib/mjs/events/UserRoleGranted.d.ts.map +1 -1
- package/lib/mjs/events/UserRoleGranted.js +8 -6
- package/lib/mjs/events/UserRoleGranted.js.map +1 -1
- package/lib/mjs/events/UserRoleRevoked.d.ts +5 -4
- package/lib/mjs/events/UserRoleRevoked.d.ts.map +1 -1
- package/lib/mjs/events/UserRoleRevoked.js +8 -6
- package/lib/mjs/events/UserRoleRevoked.js.map +1 -1
- package/lib/mjs/events/UserUnbanned.d.ts +2 -4
- package/lib/mjs/events/UserUnbanned.d.ts.map +1 -1
- package/lib/mjs/events/UserUnbanned.js +4 -11
- package/lib/mjs/events/UserUnbanned.js.map +1 -1
- package/lib/mjs/events/index.d.ts +4 -4
- package/lib/mjs/events/index.d.ts.map +1 -1
- package/lib/mjs/events/index.js +4 -4
- package/lib/mjs/events/index.js.map +1 -1
- package/lib/mjs/index.d.ts +1 -1
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -1
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +11 -33
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +4 -4
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts.map +1 -1
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js +3 -14
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/mjs/models/User.d.ts +94 -28
- package/lib/mjs/models/User.d.ts.map +1 -1
- package/lib/mjs/models/User.js +150 -105
- package/lib/mjs/models/User.js.map +1 -1
- package/lib/mjs/models/UserMetadata.d.ts +2 -6
- package/lib/mjs/models/UserMetadata.d.ts.map +1 -1
- package/lib/mjs/models/UserMetadata.js +2 -10
- package/lib/mjs/models/UserMetadata.js.map +1 -1
- package/lib/mjs/session.d.ts +1 -1
- package/lib/mjs/session.d.ts.map +1 -1
- package/lib/mjs/session.js +5 -5
- package/lib/mjs/session.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +16 -18
- package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts +0 -9
- package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts.map +0 -1
- package/lib/cjs/cli/ClearUserTimelineSchedule.js +0 -55
- package/lib/cjs/cli/ClearUserTimelineSchedule.js.map +0 -1
- package/lib/cjs/cli/LatestUserEvents.d.ts +0 -7
- package/lib/cjs/cli/LatestUserEvents.d.ts.map +0 -1
- package/lib/cjs/cli/LatestUserEvents.js +0 -38
- package/lib/cjs/cli/LatestUserEvents.js.map +0 -1
- package/lib/cjs/events/NewUser.d.ts.map +0 -1
- package/lib/cjs/events/NewUser.js.map +0 -1
- package/lib/cjs/events/UserMetadataAdded.d.ts +0 -6
- package/lib/cjs/events/UserMetadataAdded.d.ts.map +0 -1
- package/lib/cjs/events/UserMetadataAdded.js.map +0 -1
- package/lib/cjs/events/UserMetadataChanged.d.ts +0 -6
- package/lib/cjs/events/UserMetadataChanged.d.ts.map +0 -1
- package/lib/cjs/events/UserMetadataChanged.js.map +0 -1
- package/lib/cjs/events/UserMetadataDeleted.d.ts +0 -6
- package/lib/cjs/events/UserMetadataDeleted.d.ts.map +0 -1
- package/lib/cjs/events/UserMetadataDeleted.js.map +0 -1
- package/lib/cjs/jobs/UnbanUser.d.ts +0 -10
- package/lib/cjs/jobs/UnbanUser.d.ts.map +0 -1
- package/lib/cjs/jobs/UnbanUser.js +0 -44
- package/lib/cjs/jobs/UnbanUser.js.map +0 -1
- package/lib/cjs/models/UserTimeline.d.ts +0 -29
- package/lib/cjs/models/UserTimeline.d.ts.map +0 -1
- package/lib/cjs/models/UserTimeline.js +0 -47
- package/lib/cjs/models/UserTimeline.js.map +0 -1
- package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts +0 -9
- package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts.map +0 -1
- package/lib/mjs/cli/ClearUserTimelineSchedule.js +0 -52
- package/lib/mjs/cli/ClearUserTimelineSchedule.js.map +0 -1
- package/lib/mjs/cli/LatestUserEvents.d.ts +0 -7
- package/lib/mjs/cli/LatestUserEvents.d.ts.map +0 -1
- package/lib/mjs/cli/LatestUserEvents.js +0 -35
- package/lib/mjs/cli/LatestUserEvents.js.map +0 -1
- package/lib/mjs/events/NewUser.d.ts.map +0 -1
- package/lib/mjs/events/NewUser.js.map +0 -1
- package/lib/mjs/events/UserMetadataAdded.d.ts +0 -6
- package/lib/mjs/events/UserMetadataAdded.d.ts.map +0 -1
- package/lib/mjs/events/UserMetadataAdded.js.map +0 -1
- package/lib/mjs/events/UserMetadataChanged.d.ts +0 -6
- package/lib/mjs/events/UserMetadataChanged.d.ts.map +0 -1
- package/lib/mjs/events/UserMetadataChanged.js.map +0 -1
- package/lib/mjs/events/UserMetadataDeleted.d.ts +0 -6
- package/lib/mjs/events/UserMetadataDeleted.d.ts.map +0 -1
- package/lib/mjs/events/UserMetadataDeleted.js.map +0 -1
- package/lib/mjs/jobs/UnbanUser.d.ts +0 -10
- package/lib/mjs/jobs/UnbanUser.d.ts.map +0 -1
- package/lib/mjs/jobs/UnbanUser.js +0 -41
- package/lib/mjs/jobs/UnbanUser.js.map +0 -1
- package/lib/mjs/models/UserTimeline.d.ts +0 -29
- package/lib/mjs/models/UserTimeline.d.ts.map +0 -1
- package/lib/mjs/models/UserTimeline.js +0 -44
- 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,
|
|
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<
|
|
12
|
-
isBanned(
|
|
13
|
-
isActive(
|
|
14
|
-
isDeleted(
|
|
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
|
package/lib/cjs/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,
|
|
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
|
-
|
|
27
|
-
return result;
|
|
28
|
+
return await User_js_1.User.getByLogin(login);
|
|
28
29
|
}
|
|
29
30
|
async getByEmail(email) {
|
|
30
|
-
|
|
31
|
-
return result;
|
|
31
|
+
return User_js_1.User.getByEmail(email);
|
|
32
32
|
}
|
|
33
33
|
async getByUUID(uuid) {
|
|
34
|
-
|
|
35
|
-
return result;
|
|
34
|
+
return User_js_1.User.getByUuid(uuid);
|
|
36
35
|
}
|
|
37
36
|
async authenticate(email, password) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
55
|
-
User: undefined,
|
|
56
|
-
...eInvalidCredentials,
|
|
57
|
-
};
|
|
42
|
+
throw new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_INVALID_CREDENTIALS);
|
|
58
43
|
}
|
|
59
|
-
if (
|
|
60
|
-
|
|
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 (
|
|
68
|
-
|
|
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(
|
|
80
|
-
const result = await User_js_1.User.
|
|
81
|
-
return result
|
|
52
|
+
async isBanned(userOrEmail) {
|
|
53
|
+
const result = await User_js_1.User.query().whereUser(userOrEmail).checkIsBanned();
|
|
54
|
+
return result;
|
|
82
55
|
}
|
|
83
|
-
async isActive(
|
|
84
|
-
const result = await User_js_1.User.
|
|
85
|
-
return result
|
|
56
|
+
async isActive(userOrEmail) {
|
|
57
|
+
const result = await User_js_1.User.query().whereUser(userOrEmail).checkIsActive();
|
|
58
|
+
return result;
|
|
86
59
|
}
|
|
87
|
-
async isDeleted(
|
|
88
|
-
const result = await User_js_1.User.
|
|
89
|
-
return result
|
|
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;
|
package/lib/cjs/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
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":"
|
|
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
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
30
|
-
this.Log.
|
|
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,
|
|
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"}
|
package/lib/cjs/cli/BanUser.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":"
|
|
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"}
|