@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
package/lib/cjs/models/User.d.ts
CHANGED
|
@@ -1,28 +1,12 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
|
-
import { ModelBase,
|
|
3
|
-
import { Permission } from 'accesscontrol';
|
|
2
|
+
import { ModelBase, QueryScope, ISelectQueryBuilder, MetadataRelation } from '@spinajs/orm';
|
|
3
|
+
import { AccessControl, Permission } from 'accesscontrol';
|
|
4
4
|
import { UserMetadata } from './UserMetadata.js';
|
|
5
|
-
import { UserAction } from './UserTimeline.js';
|
|
6
|
-
declare class UserMetadataRelation extends OneToManyRelationList<UserMetadata, User> {
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* Checks if metadata exists, its DB first, it will only check DB for existence
|
|
10
|
-
*
|
|
11
|
-
* @param key - key to find
|
|
12
|
-
* @returns {true|false}
|
|
13
|
-
*/
|
|
14
|
-
exists(key: string): Promise<boolean>;
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* Deletes meta from DB
|
|
18
|
-
*
|
|
19
|
-
* @param key - meta key do delete or regexp
|
|
20
|
-
*/
|
|
21
|
-
delete(key: string): Promise<void>;
|
|
22
|
-
get(key: string): Promise<any>;
|
|
23
|
-
[index: string]: any;
|
|
24
|
-
}
|
|
25
5
|
export declare class UserQueryScopes implements QueryScope {
|
|
6
|
+
whereUser(this: ISelectQueryBuilder<User[]> & UserQueryScopes, userOrEmail: User | string): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
7
|
+
checkIsBanned(this: ISelectQueryBuilder<User[]> & UserQueryScopes): Promise<boolean>;
|
|
8
|
+
checkIsActive(this: ISelectQueryBuilder<User[]> & UserQueryScopes): Promise<boolean>;
|
|
9
|
+
notDeleted(this: ISelectQueryBuilder<User[]> & UserQueryScopes): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
26
10
|
/**
|
|
27
11
|
*
|
|
28
12
|
* Fetch users that are not banned, are active & email confirmed, not deleted
|
|
@@ -30,7 +14,40 @@ export declare class UserQueryScopes implements QueryScope {
|
|
|
30
14
|
*/
|
|
31
15
|
isActiveUser(this: ISelectQueryBuilder<User[]> & UserQueryScopes): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
32
16
|
whereEmail(this: ISelectQueryBuilder<User[]> & UserQueryScopes, email: string): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
33
|
-
whereLogin(this: ISelectQueryBuilder<User[]> & UserQueryScopes,
|
|
17
|
+
whereLogin(this: ISelectQueryBuilder<User[]> & UserQueryScopes, login: string): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
18
|
+
whereUuid(this: ISelectQueryBuilder<User[]> & UserQueryScopes, uuid: string): ISelectQueryBuilder<User[]> & UserQueryScopes;
|
|
19
|
+
/**
|
|
20
|
+
* Tries to get user by ONE OF:
|
|
21
|
+
* - UUID
|
|
22
|
+
* - EMAIL
|
|
23
|
+
* - LOGIN
|
|
24
|
+
* - ID
|
|
25
|
+
*
|
|
26
|
+
* @param identifier - login ,email, uuid or id
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
whereAnything(this: ISelectQueryBuilder<User[] | User> & UserQueryScopes, identifier: string | number): ISelectQueryBuilder<User | User[]> & UserQueryScopes;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Common user metadata keys
|
|
33
|
+
*/
|
|
34
|
+
export declare enum USER_COMMON_METADATA {
|
|
35
|
+
/** BAN RELATED META KEYS */
|
|
36
|
+
USER_BAN_IS_BANNED = "user:ban:is_banned",
|
|
37
|
+
USER_BAN_START_DATE = "user:ban:start_date",
|
|
38
|
+
USER_BAN_DURATION = "user:ban:duration",
|
|
39
|
+
USER_BAN_REASON = "user:ban:reason",
|
|
40
|
+
/** USER GENERAL INFO */
|
|
41
|
+
USER_AVATAR = "user:avatar",
|
|
42
|
+
USER_PHONE = "user:phone",
|
|
43
|
+
USER_NEWSLETTER_ENABLED = "user:newsletter:enabled",
|
|
44
|
+
/** 2fa token */
|
|
45
|
+
USER_2FA_TOKEN = "user:2fa:token",
|
|
46
|
+
/** Reset password */
|
|
47
|
+
USER_PWD_RESET = "user:pwd:reset",
|
|
48
|
+
USER_PWD_RESET_START_DATE = "user:pwd_reset:start_date",
|
|
49
|
+
USER_PWD_RESET_WAIT_TIME = "user:pwd_reset:wait_time",
|
|
50
|
+
USER_PWD_RESET_TOKEN = "user:pwd_reset:token"
|
|
34
51
|
}
|
|
35
52
|
/**
|
|
36
53
|
* Base model for users used by auth and ACL system
|
|
@@ -38,7 +55,13 @@ export declare class UserQueryScopes implements QueryScope {
|
|
|
38
55
|
* To add / extend fields simply extend this model and register as default user model in ACL service
|
|
39
56
|
*/
|
|
40
57
|
export declare class User extends ModelBase {
|
|
58
|
+
/**
|
|
59
|
+
* By default should not return password & id
|
|
60
|
+
* Id - to not expose internal id and predict users id / count
|
|
61
|
+
* Instead id should be replaced with uuid when exposing to end user / app
|
|
62
|
+
*/
|
|
41
63
|
protected _hidden: string[];
|
|
64
|
+
protected _ac: AccessControl;
|
|
42
65
|
static readonly _queryScopes: UserQueryScopes;
|
|
43
66
|
constructor(data?: Partial<User>);
|
|
44
67
|
Id: number;
|
|
@@ -52,7 +75,6 @@ export declare class User extends ModelBase {
|
|
|
52
75
|
* Displayed name ( for others to see )
|
|
53
76
|
*/
|
|
54
77
|
Login: string;
|
|
55
|
-
IsBanned: boolean;
|
|
56
78
|
/**
|
|
57
79
|
* User role
|
|
58
80
|
*/
|
|
@@ -72,31 +94,75 @@ export declare class User extends ModelBase {
|
|
|
72
94
|
LastLoginAt: DateTime;
|
|
73
95
|
/**
|
|
74
96
|
* Account is fully active (eg. passed registration)
|
|
97
|
+
* Do not use it to ban users, active user still can have banned status
|
|
75
98
|
*/
|
|
76
99
|
IsActive: boolean;
|
|
77
100
|
/**
|
|
78
101
|
* User additional information. Can be anything
|
|
79
102
|
*/
|
|
80
|
-
Metadata:
|
|
81
|
-
Actions: Relation<UserAction, User>;
|
|
103
|
+
Metadata: MetadataRelation<UserMetadata, User>;
|
|
82
104
|
get IsGuest(): boolean;
|
|
105
|
+
get IsBanned(): boolean;
|
|
83
106
|
can(resource: string, permission: string): Permission;
|
|
84
107
|
/**
|
|
85
|
-
* Shorthand for check if user can read any resource
|
|
108
|
+
* Shorthand for check if user can read any of specified resource
|
|
86
109
|
* @param resource
|
|
87
110
|
* @returns
|
|
88
111
|
*/
|
|
89
112
|
canReadAny(resource: string): Permission;
|
|
113
|
+
/**
|
|
114
|
+
* Shortcut for check if user can read own resource
|
|
115
|
+
*
|
|
116
|
+
* @param resource
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
90
119
|
canReadOwn(resource: string): Permission;
|
|
120
|
+
/**
|
|
121
|
+
* Shortcut for check if user can update any resource
|
|
122
|
+
*
|
|
123
|
+
* @param resource
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
91
126
|
canUpdateAny(resource: string): Permission;
|
|
127
|
+
/**
|
|
128
|
+
* Shortcut for check if user can update own resource
|
|
129
|
+
* @param resource
|
|
130
|
+
* @returns
|
|
131
|
+
*/
|
|
92
132
|
canUpdateOwn(resource: string): Permission;
|
|
133
|
+
/**
|
|
134
|
+
* Shortcut for check if user can delete any resource
|
|
135
|
+
* @param resource
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
93
138
|
canDeleteAny(resource: string): Permission;
|
|
139
|
+
/**
|
|
140
|
+
* Shourtcut for check if user can delete own resource
|
|
141
|
+
* @param resource
|
|
142
|
+
* @returns
|
|
143
|
+
*/
|
|
94
144
|
canDeleteOwn(resource: string): Permission;
|
|
145
|
+
/**
|
|
146
|
+
* Shortcut for check if user can create any resource
|
|
147
|
+
* @param resource
|
|
148
|
+
* @returns
|
|
149
|
+
*/
|
|
95
150
|
canCreateAny(resource: string): Permission;
|
|
151
|
+
/**
|
|
152
|
+
* Shourtcut for check if user can create own resource
|
|
153
|
+
* @param resource
|
|
154
|
+
* @returns
|
|
155
|
+
*/
|
|
96
156
|
canCreateOwn(resource: string): Permission;
|
|
97
157
|
static getByLogin(login: string): Promise<User>;
|
|
98
158
|
static getByEmail(email: string): Promise<User>;
|
|
99
159
|
static getByUuid(uuid: string): Promise<User>;
|
|
160
|
+
/**
|
|
161
|
+
* Tries to get user by any identifier
|
|
162
|
+
*
|
|
163
|
+
* @param identifier login, email, id or uuid
|
|
164
|
+
* @returns
|
|
165
|
+
*/
|
|
166
|
+
static getByAnything(identifier: string | number): Promise<User>;
|
|
100
167
|
}
|
|
101
|
-
export {};
|
|
102
168
|
//# sourceMappingURL=User.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAW,SAAS,EAAyF,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAY,MAAM,cAAc,CAAC;AACtM,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,qBAAa,eAAgB,YAAW,UAAU;IACzC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM;IAMnF,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe;IAgBjE,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe;IAMvE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe;IAMrE;;;;OAIG;IACI,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe;IAOhE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,EAAE,KAAK,EAAE,MAAM;IAQ7E,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,EAAE,KAAK,EAAE,MAAM;IAQ7E,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,EAAE,IAAI,EAAE,MAAM;IAQlF;;;;;;;;;OASG;IACI,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;CAa7G;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,6BAA6B;IAC7B,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IAEnC,wBAAwB;IAExB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,uBAAuB,4BAA4B;IAEnD,gBAAgB;IAEhB,cAAc,mBAAmB;IAEjC,qBAAqB;IAGrB,cAAc,mBAAmB;IAEjC,yBAAyB,8BAA8B;IAEvD,wBAAwB,6BAA6B;IAErD,oBAAoB,yBAAyB;CAC9C;AAED;;;;GAIG;AACH,qBAEa,IAAK,SAAQ,SAAS;IACjC;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAsB;IAEjD,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;IAE7B,gBAAuB,YAAY,EAAE,eAAe,CAAyB;gBAE1D,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;IAUhC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEI,IAAI,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IAEI,SAAS,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IAEI,YAAY,EAAE,QAAQ,CAAC;IAE9B;;OAEG;IAEI,SAAS,EAAE,QAAQ,CAAC;IAGpB,WAAW,EAAE,QAAQ,CAAC;IAE7B;;;OAGG;IACI,QAAQ,EAAE,OAAO,CAAC;IAEzB;;OAEG;IAEI,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEtD,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAEM,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAO5D;;;;OAIG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM;IAIlC;;;;;OAKG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM;IAIlC;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIpC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM;WAItB,UAAU,CAAC,KAAK,EAAE,MAAM;WAMxB,UAAU,CAAC,KAAK,EAAE,MAAM;WAMxB,SAAS,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;OAKG;WACW,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAGxD"}
|
package/lib/cjs/models/User.js
CHANGED
|
@@ -10,99 +10,40 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
var User_1;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.User = exports.UserQueryScopes = void 0;
|
|
13
|
+
exports.User = exports.USER_COMMON_METADATA = exports.UserQueryScopes = void 0;
|
|
14
14
|
const luxon_1 = require("luxon");
|
|
15
15
|
const orm_1 = require("@spinajs/orm");
|
|
16
16
|
const di_1 = require("@spinajs/di");
|
|
17
17
|
const UserMetadata_js_1 = require("./UserMetadata.js");
|
|
18
|
-
const UserTimeline_js_1 = require("./UserTimeline.js");
|
|
19
18
|
const uuid_1 = require("uuid");
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* @returns {true|false}
|
|
27
|
-
*/
|
|
28
|
-
async exists(key) {
|
|
29
|
-
return await UserMetadata_js_1.UserMetadata.where({
|
|
30
|
-
User: this.owner,
|
|
31
|
-
Key: key,
|
|
32
|
-
}).resultExists();
|
|
19
|
+
const util_1 = require("@spinajs/util");
|
|
20
|
+
const configuration_1 = require("@spinajs/configuration");
|
|
21
|
+
class UserQueryScopes {
|
|
22
|
+
whereUser(userOrEmail) {
|
|
23
|
+
(0, util_1._check_arg)((0, util_1._or)((0, util_1._is_object)((0, util_1._non_nil)()), (0, util_1._is_string)((0, util_1._trim)(), (0, util_1._non_empty)())))(userOrEmail, 'userOrEmail');
|
|
24
|
+
return this.where('Email', userOrEmail instanceof User ? userOrEmail.Email : userOrEmail);
|
|
33
25
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
async checkIsBanned() {
|
|
27
|
+
const banned = await this.clearColumns()
|
|
28
|
+
.count('*', 'BannedCount')
|
|
29
|
+
.setAlias('banned_count')
|
|
30
|
+
.whereExist(UserMetadata_js_1.UserMetadata.query().where(function () {
|
|
31
|
+
this.where('Key', USER_COMMON_METADATA.USER_BAN_IS_BANNED);
|
|
32
|
+
this.where('Value', 'true');
|
|
33
|
+
this.where(new orm_1.RawQuery('user_id = banned_count.Id'));
|
|
34
|
+
}))
|
|
35
|
+
.asRaw();
|
|
36
|
+
return banned[0].BannedCount > 0;
|
|
37
|
+
}
|
|
38
|
+
async checkIsActive() {
|
|
39
|
+
const active = await this.clearColumns().count('*', 'ActiveCount').where('IsActive', true).asRaw();
|
|
40
|
+
return active[0].ActiveCount > 0;
|
|
45
41
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return found.Value;
|
|
50
|
-
}
|
|
51
|
-
return await UserMetadata_js_1.UserMetadata.where({
|
|
52
|
-
User: this.owner,
|
|
53
|
-
Key: key,
|
|
54
|
-
})
|
|
55
|
-
.first()
|
|
56
|
-
.then((res) => {
|
|
57
|
-
if (res) {
|
|
58
|
-
return res.Value;
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
42
|
+
notDeleted() {
|
|
43
|
+
return this.where({
|
|
44
|
+
DeletedAt: null,
|
|
61
45
|
});
|
|
62
46
|
}
|
|
63
|
-
}
|
|
64
|
-
function UserMetadataRelationFactory(model, desc, container) {
|
|
65
|
-
const repository = container.resolve(UserMetadataRelation, [model, desc.TargetModel, desc, []]);
|
|
66
|
-
const proxy = {
|
|
67
|
-
set: (target, prop, value) => {
|
|
68
|
-
if (target[prop]) {
|
|
69
|
-
return (target[prop] = value);
|
|
70
|
-
}
|
|
71
|
-
return (async () => {
|
|
72
|
-
const userMeta = new UserMetadata_js_1.UserMetadata();
|
|
73
|
-
userMeta.User.Value = model;
|
|
74
|
-
userMeta.Key = prop;
|
|
75
|
-
userMeta.Value = value;
|
|
76
|
-
await UserMetadata_js_1.UserMetadata.insert(userMeta, orm_1.InsertBehaviour.InsertOrUpdate);
|
|
77
|
-
})();
|
|
78
|
-
},
|
|
79
|
-
get: (target, prop) => {
|
|
80
|
-
if (target[prop]) {
|
|
81
|
-
return target[prop];
|
|
82
|
-
}
|
|
83
|
-
return (async () => {
|
|
84
|
-
// check for metadata entries
|
|
85
|
-
const found = target.find((x) => x.Key === prop);
|
|
86
|
-
if (found) {
|
|
87
|
-
return found.Value;
|
|
88
|
-
}
|
|
89
|
-
return await UserMetadata_js_1.UserMetadata.where({
|
|
90
|
-
User: model,
|
|
91
|
-
Key: prop,
|
|
92
|
-
})
|
|
93
|
-
.first()
|
|
94
|
-
.then((res) => {
|
|
95
|
-
if (res) {
|
|
96
|
-
return res.Value;
|
|
97
|
-
}
|
|
98
|
-
return null;
|
|
99
|
-
});
|
|
100
|
-
})();
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
return new Proxy(repository, proxy);
|
|
104
|
-
}
|
|
105
|
-
class UserQueryScopes {
|
|
106
47
|
/**
|
|
107
48
|
*
|
|
108
49
|
* Fetch users that are not banned, are active & email confirmed, not deleted
|
|
@@ -115,17 +56,69 @@ class UserQueryScopes {
|
|
|
115
56
|
});
|
|
116
57
|
}
|
|
117
58
|
whereEmail(email) {
|
|
59
|
+
email = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._is_email)())(email, 'email');
|
|
118
60
|
return this.where({
|
|
119
61
|
Email: email,
|
|
120
62
|
});
|
|
121
63
|
}
|
|
122
|
-
whereLogin(
|
|
64
|
+
whereLogin(login) {
|
|
65
|
+
login = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(login, 'login');
|
|
123
66
|
return this.where({
|
|
124
|
-
|
|
67
|
+
Login: login,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
whereUuid(uuid) {
|
|
71
|
+
uuid = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._is_uuid)())(uuid, 'uuid');
|
|
72
|
+
return this.where({
|
|
73
|
+
Uuid: uuid,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Tries to get user by ONE OF:
|
|
78
|
+
* - UUID
|
|
79
|
+
* - EMAIL
|
|
80
|
+
* - LOGIN
|
|
81
|
+
* - ID
|
|
82
|
+
*
|
|
83
|
+
* @param identifier - login ,email, uuid or id
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
whereAnything(identifier) {
|
|
87
|
+
identifier = (0, util_1._check_arg)((0, util_1._or)((0, util_1._is_number)((0, util_1._gt)(0)), (0, util_1._to_int)(), (0, util_1._is_string)((0, util_1._trim)(), (0, util_1._non_empty)())))(identifier, 'identifier');
|
|
88
|
+
return this.when(typeof identifier === 'number', function () {
|
|
89
|
+
this.where('Id', identifier);
|
|
90
|
+
}, function () {
|
|
91
|
+
this.where('Uuid', identifier).orWhere('Email', identifier).orWhere('Login', identifier);
|
|
125
92
|
});
|
|
126
93
|
}
|
|
127
94
|
}
|
|
128
95
|
exports.UserQueryScopes = UserQueryScopes;
|
|
96
|
+
/**
|
|
97
|
+
* Common user metadata keys
|
|
98
|
+
*/
|
|
99
|
+
var USER_COMMON_METADATA;
|
|
100
|
+
(function (USER_COMMON_METADATA) {
|
|
101
|
+
/** BAN RELATED META KEYS */
|
|
102
|
+
USER_COMMON_METADATA["USER_BAN_IS_BANNED"] = "user:ban:is_banned";
|
|
103
|
+
USER_COMMON_METADATA["USER_BAN_START_DATE"] = "user:ban:start_date";
|
|
104
|
+
USER_COMMON_METADATA["USER_BAN_DURATION"] = "user:ban:duration";
|
|
105
|
+
USER_COMMON_METADATA["USER_BAN_REASON"] = "user:ban:reason";
|
|
106
|
+
/** USER GENERAL INFO */
|
|
107
|
+
USER_COMMON_METADATA["USER_AVATAR"] = "user:avatar";
|
|
108
|
+
USER_COMMON_METADATA["USER_PHONE"] = "user:phone";
|
|
109
|
+
USER_COMMON_METADATA["USER_NEWSLETTER_ENABLED"] = "user:newsletter:enabled";
|
|
110
|
+
/** 2fa token */
|
|
111
|
+
USER_COMMON_METADATA["USER_2FA_TOKEN"] = "user:2fa:token";
|
|
112
|
+
/** Reset password */
|
|
113
|
+
// is reset password in progress
|
|
114
|
+
USER_COMMON_METADATA["USER_PWD_RESET"] = "user:pwd:reset";
|
|
115
|
+
// start date of reset password
|
|
116
|
+
USER_COMMON_METADATA["USER_PWD_RESET_START_DATE"] = "user:pwd_reset:start_date";
|
|
117
|
+
// wait time for reset password
|
|
118
|
+
USER_COMMON_METADATA["USER_PWD_RESET_WAIT_TIME"] = "user:pwd_reset:wait_time";
|
|
119
|
+
// reset password token
|
|
120
|
+
USER_COMMON_METADATA["USER_PWD_RESET_TOKEN"] = "user:pwd_reset:token";
|
|
121
|
+
})(USER_COMMON_METADATA || (exports.USER_COMMON_METADATA = USER_COMMON_METADATA = {}));
|
|
129
122
|
/**
|
|
130
123
|
* Base model for users used by auth and ACL system
|
|
131
124
|
*
|
|
@@ -134,59 +127,113 @@ exports.UserQueryScopes = UserQueryScopes;
|
|
|
134
127
|
let User = User_1 = class User extends orm_1.ModelBase {
|
|
135
128
|
constructor(data) {
|
|
136
129
|
super(data);
|
|
130
|
+
/**
|
|
131
|
+
* By default should not return password & id
|
|
132
|
+
* Id - to not expose internal id and predict users id / count
|
|
133
|
+
* Instead id should be replaced with uuid when exposing to end user / app
|
|
134
|
+
*/
|
|
137
135
|
this._hidden = ['Password', 'Id'];
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
this.Uuid = (0, util_1._check_arg)((0, util_1._default)((0, uuid_1.v4)()))(this.Uuid, 'uuid');
|
|
137
|
+
this.Role = (0, util_1._check_arg)((0, util_1._default)([(0, configuration_1._cfg)('rbac.defaultRole')()]))(this.Role, 'role');
|
|
138
|
+
this._ac = di_1.DI.get('AccessControl');
|
|
141
139
|
}
|
|
142
140
|
get IsGuest() {
|
|
143
141
|
return this.Role.indexOf('guest') !== -1 || this.Role.length === 0;
|
|
144
142
|
}
|
|
143
|
+
get IsBanned() {
|
|
144
|
+
return this.Metadata[USER_COMMON_METADATA.USER_BAN_IS_BANNED] === true;
|
|
145
|
+
}
|
|
145
146
|
can(resource, permission) {
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
resource = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(resource, 'resource');
|
|
148
|
+
permission = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(permission, 'permission');
|
|
149
|
+
return this._ac.can(this.Role)[permission](resource);
|
|
148
150
|
}
|
|
149
151
|
/**
|
|
150
|
-
* Shorthand for check if user can read any resource
|
|
152
|
+
* Shorthand for check if user can read any of specified resource
|
|
151
153
|
* @param resource
|
|
152
154
|
* @returns
|
|
153
155
|
*/
|
|
154
156
|
canReadAny(resource) {
|
|
155
157
|
return this.can(resource, 'readAny');
|
|
156
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Shortcut for check if user can read own resource
|
|
161
|
+
*
|
|
162
|
+
* @param resource
|
|
163
|
+
* @returns
|
|
164
|
+
*/
|
|
157
165
|
canReadOwn(resource) {
|
|
158
166
|
return this.can(resource, 'readOwn');
|
|
159
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Shortcut for check if user can update any resource
|
|
170
|
+
*
|
|
171
|
+
* @param resource
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
160
174
|
canUpdateAny(resource) {
|
|
161
175
|
return this.can(resource, 'updateAny');
|
|
162
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Shortcut for check if user can update own resource
|
|
179
|
+
* @param resource
|
|
180
|
+
* @returns
|
|
181
|
+
*/
|
|
163
182
|
canUpdateOwn(resource) {
|
|
164
183
|
return this.can(resource, 'updateOwn');
|
|
165
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Shortcut for check if user can delete any resource
|
|
187
|
+
* @param resource
|
|
188
|
+
* @returns
|
|
189
|
+
*/
|
|
166
190
|
canDeleteAny(resource) {
|
|
167
191
|
return this.can(resource, 'deleteAny');
|
|
168
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Shourtcut for check if user can delete own resource
|
|
195
|
+
* @param resource
|
|
196
|
+
* @returns
|
|
197
|
+
*/
|
|
169
198
|
canDeleteOwn(resource) {
|
|
170
199
|
return this.can(resource, 'deleteOwn');
|
|
171
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Shortcut for check if user can create any resource
|
|
203
|
+
* @param resource
|
|
204
|
+
* @returns
|
|
205
|
+
*/
|
|
172
206
|
canCreateAny(resource) {
|
|
173
207
|
return this.can(resource, 'createAny');
|
|
174
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Shourtcut for check if user can create own resource
|
|
211
|
+
* @param resource
|
|
212
|
+
* @returns
|
|
213
|
+
*/
|
|
175
214
|
canCreateOwn(resource) {
|
|
176
215
|
return this.can(resource, 'createOwn');
|
|
177
216
|
}
|
|
178
217
|
static getByLogin(login) {
|
|
218
|
+
login = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(login, 'login');
|
|
179
219
|
return User_1.query().whereLogin(login).first();
|
|
180
220
|
}
|
|
181
221
|
static getByEmail(email) {
|
|
222
|
+
email = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._is_email)())(email, 'email');
|
|
182
223
|
return User_1.query().whereEmail(email).first();
|
|
183
224
|
}
|
|
184
225
|
static getByUuid(uuid) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
226
|
+
uuid = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._is_uuid)())(uuid, 'uuid');
|
|
227
|
+
return User_1.query().whereUuid(uuid).first();
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Tries to get user by any identifier
|
|
231
|
+
*
|
|
232
|
+
* @param identifier login, email, id or uuid
|
|
233
|
+
* @returns
|
|
234
|
+
*/
|
|
235
|
+
static getByAnything(identifier) {
|
|
236
|
+
return User_1.query().whereAnything(identifier).first();
|
|
190
237
|
}
|
|
191
238
|
};
|
|
192
239
|
exports.User = User;
|
|
@@ -199,6 +246,10 @@ __decorate([
|
|
|
199
246
|
(0, orm_1.Uuid)(),
|
|
200
247
|
__metadata("design:type", String)
|
|
201
248
|
], User.prototype, "Uuid", void 0);
|
|
249
|
+
__decorate([
|
|
250
|
+
(0, orm_1.Set)(),
|
|
251
|
+
__metadata("design:type", Array)
|
|
252
|
+
], User.prototype, "Role", void 0);
|
|
202
253
|
__decorate([
|
|
203
254
|
(0, orm_1.CreatedAt)(),
|
|
204
255
|
__metadata("design:type", luxon_1.DateTime)
|
|
@@ -216,15 +267,9 @@ __decorate([
|
|
|
216
267
|
__metadata("design:type", luxon_1.DateTime)
|
|
217
268
|
], User.prototype, "LastLoginAt", void 0);
|
|
218
269
|
__decorate([
|
|
219
|
-
(0, orm_1.HasMany)(UserMetadata_js_1.UserMetadata,
|
|
220
|
-
|
|
221
|
-
}),
|
|
222
|
-
__metadata("design:type", UserMetadataRelation)
|
|
270
|
+
(0, orm_1.HasMany)(UserMetadata_js_1.UserMetadata),
|
|
271
|
+
__metadata("design:type", orm_1.MetadataRelation)
|
|
223
272
|
], User.prototype, "Metadata", void 0);
|
|
224
|
-
__decorate([
|
|
225
|
-
(0, orm_1.HasMany)(UserTimeline_js_1.UserAction),
|
|
226
|
-
__metadata("design:type", orm_1.Relation)
|
|
227
|
-
], User.prototype, "Actions", void 0);
|
|
228
273
|
exports.User = User = User_1 = __decorate([
|
|
229
274
|
(0, orm_1.Connection)('default'),
|
|
230
275
|
(0, orm_1.Model)('users'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MetadataModel, SingleRelation } from '@spinajs/orm';
|
|
2
2
|
import type { User } from './User.js';
|
|
3
|
-
export declare class UserMetadata extends
|
|
4
|
-
Id: number;
|
|
5
|
-
Key: string;
|
|
6
|
-
Type: 'number' | 'float' | 'string' | 'json' | 'boolean' | 'datetime';
|
|
7
|
-
Value: any;
|
|
3
|
+
export declare class UserMetadata extends MetadataModel<UserMetadata> {
|
|
8
4
|
User: SingleRelation<User>;
|
|
9
5
|
}
|
|
10
6
|
//# sourceMappingURL=UserMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMetadata.d.ts","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,
|
|
1
|
+
{"version":3,"file":"UserMetadata.d.ts","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,qBAEa,YAAa,SAAQ,aAAa,CAAC,YAAY,CAAC;IAEpD,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CACnC"}
|
|
@@ -11,17 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.UserMetadata = void 0;
|
|
13
13
|
const orm_1 = require("@spinajs/orm");
|
|
14
|
-
let UserMetadata = class UserMetadata extends orm_1.
|
|
14
|
+
let UserMetadata = class UserMetadata extends orm_1.MetadataModel {
|
|
15
15
|
};
|
|
16
16
|
exports.UserMetadata = UserMetadata;
|
|
17
|
-
__decorate([
|
|
18
|
-
(0, orm_1.Primary)(),
|
|
19
|
-
__metadata("design:type", Number)
|
|
20
|
-
], UserMetadata.prototype, "Id", void 0);
|
|
21
|
-
__decorate([
|
|
22
|
-
(0, orm_1.UniversalConverter)('Type'),
|
|
23
|
-
__metadata("design:type", Object)
|
|
24
|
-
], UserMetadata.prototype, "Value", void 0);
|
|
25
17
|
__decorate([
|
|
26
18
|
(0, orm_1.BelongsTo)('User'),
|
|
27
19
|
__metadata("design:type", orm_1.SingleRelation)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2F;AAMpF,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,mBAA2B;CAG5D,CAAA;AAHY,oCAAY;AAEhB;IADN,IAAA,eAAS,EAAC,MAAM,CAAC;8BACL,oBAAc;0CAAO;uBAFvB,YAAY;IAFxB,IAAA,gBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,WAAK,EAAC,gBAAgB,CAAC;GACX,YAAY,CAGxB"}
|
package/lib/cjs/session.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { SessionProvider, ISession } from './interfaces.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Session base class
|
|
5
5
|
*/
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class UserSession implements ISession {
|
|
7
7
|
protected SessionExpirationTime: number;
|
|
8
8
|
SessionId: string;
|
|
9
9
|
/**
|
package/lib/cjs/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAM5D;;GAEG;AACH,qBACa,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAM5D;;GAEG;AACH,qBACa,WAAY,YAAW,QAAQ;IAE1C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEjC,SAAS,EAAE,MAAM,CAAY;IAEpC;;OAEG;IACI,UAAU,EAAE,QAAQ,CAAQ;IAE5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAEvC,QAAQ,EAAE,QAAQ,CAAkB;gBAE/B,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAMvC;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED;;GAEG;AACH,qBACa,kBAAmB,SAAQ,eAAe,CAAC,QAAQ,CAAC;IAC/D,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAA+B;IAE3D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAYpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWhF"}
|