@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/mjs/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":"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"}
|
package/lib/mjs/models/User.js
CHANGED
|
@@ -9,97 +9,38 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var User_1;
|
|
11
11
|
import { DateTime } from 'luxon';
|
|
12
|
-
import { ModelBase, Primary, Connection, Model, CreatedAt, SoftDelete, HasMany,
|
|
12
|
+
import { ModelBase, Primary, Connection, Model, Set, CreatedAt, SoftDelete, HasMany, Uuid, DateTime as DT, MetadataRelation, RawQuery } from '@spinajs/orm';
|
|
13
13
|
import { DI } from '@spinajs/di';
|
|
14
14
|
import { UserMetadata } from './UserMetadata.js';
|
|
15
|
-
import { UserAction } from './UserTimeline.js';
|
|
16
15
|
import { v4 as uuidv4 } from 'uuid';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
* @returns {true|false}
|
|
24
|
-
*/
|
|
25
|
-
async exists(key) {
|
|
26
|
-
return await UserMetadata.where({
|
|
27
|
-
User: this.owner,
|
|
28
|
-
Key: key,
|
|
29
|
-
}).resultExists();
|
|
16
|
+
import { _check_arg, _gt, _non_nil, _is_email, _non_empty, _trim, _is_number, _or, _is_string, _to_int, _default, _is_uuid, _is_object } from '@spinajs/util';
|
|
17
|
+
import { _cfg } from '@spinajs/configuration';
|
|
18
|
+
export class UserQueryScopes {
|
|
19
|
+
whereUser(userOrEmail) {
|
|
20
|
+
_check_arg(_or(_is_object(_non_nil()), _is_string(_trim(), _non_empty())))(userOrEmail, 'userOrEmail');
|
|
21
|
+
return this.where('Email', userOrEmail instanceof User ? userOrEmail.Email : userOrEmail);
|
|
30
22
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
23
|
+
async checkIsBanned() {
|
|
24
|
+
const banned = await this.clearColumns()
|
|
25
|
+
.count('*', 'BannedCount')
|
|
26
|
+
.setAlias('banned_count')
|
|
27
|
+
.whereExist(UserMetadata.query().where(function () {
|
|
28
|
+
this.where('Key', USER_COMMON_METADATA.USER_BAN_IS_BANNED);
|
|
29
|
+
this.where('Value', 'true');
|
|
30
|
+
this.where(new RawQuery('user_id = banned_count.Id'));
|
|
31
|
+
}))
|
|
32
|
+
.asRaw();
|
|
33
|
+
return banned[0].BannedCount > 0;
|
|
34
|
+
}
|
|
35
|
+
async checkIsActive() {
|
|
36
|
+
const active = await this.clearColumns().count('*', 'ActiveCount').where('IsActive', true).asRaw();
|
|
37
|
+
return active[0].ActiveCount > 0;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return found.Value;
|
|
47
|
-
}
|
|
48
|
-
return await UserMetadata.where({
|
|
49
|
-
User: this.owner,
|
|
50
|
-
Key: key,
|
|
51
|
-
})
|
|
52
|
-
.first()
|
|
53
|
-
.then((res) => {
|
|
54
|
-
if (res) {
|
|
55
|
-
return res.Value;
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
39
|
+
notDeleted() {
|
|
40
|
+
return this.where({
|
|
41
|
+
DeletedAt: null,
|
|
58
42
|
});
|
|
59
43
|
}
|
|
60
|
-
}
|
|
61
|
-
function UserMetadataRelationFactory(model, desc, container) {
|
|
62
|
-
const repository = container.resolve(UserMetadataRelation, [model, desc.TargetModel, desc, []]);
|
|
63
|
-
const proxy = {
|
|
64
|
-
set: (target, prop, value) => {
|
|
65
|
-
if (target[prop]) {
|
|
66
|
-
return (target[prop] = value);
|
|
67
|
-
}
|
|
68
|
-
return (async () => {
|
|
69
|
-
const userMeta = new UserMetadata();
|
|
70
|
-
userMeta.User.Value = model;
|
|
71
|
-
userMeta.Key = prop;
|
|
72
|
-
userMeta.Value = value;
|
|
73
|
-
await UserMetadata.insert(userMeta, InsertBehaviour.InsertOrUpdate);
|
|
74
|
-
})();
|
|
75
|
-
},
|
|
76
|
-
get: (target, prop) => {
|
|
77
|
-
if (target[prop]) {
|
|
78
|
-
return target[prop];
|
|
79
|
-
}
|
|
80
|
-
return (async () => {
|
|
81
|
-
// check for metadata entries
|
|
82
|
-
const found = target.find((x) => x.Key === prop);
|
|
83
|
-
if (found) {
|
|
84
|
-
return found.Value;
|
|
85
|
-
}
|
|
86
|
-
return await UserMetadata.where({
|
|
87
|
-
User: model,
|
|
88
|
-
Key: prop,
|
|
89
|
-
})
|
|
90
|
-
.first()
|
|
91
|
-
.then((res) => {
|
|
92
|
-
if (res) {
|
|
93
|
-
return res.Value;
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
});
|
|
97
|
-
})();
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
return new Proxy(repository, proxy);
|
|
101
|
-
}
|
|
102
|
-
export class UserQueryScopes {
|
|
103
44
|
/**
|
|
104
45
|
*
|
|
105
46
|
* Fetch users that are not banned, are active & email confirmed, not deleted
|
|
@@ -112,16 +53,68 @@ export class UserQueryScopes {
|
|
|
112
53
|
});
|
|
113
54
|
}
|
|
114
55
|
whereEmail(email) {
|
|
56
|
+
email = _check_arg(_trim(), _non_empty(), _is_email())(email, 'email');
|
|
115
57
|
return this.where({
|
|
116
58
|
Email: email,
|
|
117
59
|
});
|
|
118
60
|
}
|
|
119
|
-
whereLogin(
|
|
61
|
+
whereLogin(login) {
|
|
62
|
+
login = _check_arg(_trim(), _non_empty())(login, 'login');
|
|
120
63
|
return this.where({
|
|
121
|
-
|
|
64
|
+
Login: login,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
whereUuid(uuid) {
|
|
68
|
+
uuid = _check_arg(_trim(), _is_uuid())(uuid, 'uuid');
|
|
69
|
+
return this.where({
|
|
70
|
+
Uuid: uuid,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Tries to get user by ONE OF:
|
|
75
|
+
* - UUID
|
|
76
|
+
* - EMAIL
|
|
77
|
+
* - LOGIN
|
|
78
|
+
* - ID
|
|
79
|
+
*
|
|
80
|
+
* @param identifier - login ,email, uuid or id
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
whereAnything(identifier) {
|
|
84
|
+
identifier = _check_arg(_or(_is_number(_gt(0)), _to_int(), _is_string(_trim(), _non_empty())))(identifier, 'identifier');
|
|
85
|
+
return this.when(typeof identifier === 'number', function () {
|
|
86
|
+
this.where('Id', identifier);
|
|
87
|
+
}, function () {
|
|
88
|
+
this.where('Uuid', identifier).orWhere('Email', identifier).orWhere('Login', identifier);
|
|
122
89
|
});
|
|
123
90
|
}
|
|
124
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Common user metadata keys
|
|
94
|
+
*/
|
|
95
|
+
export var USER_COMMON_METADATA;
|
|
96
|
+
(function (USER_COMMON_METADATA) {
|
|
97
|
+
/** BAN RELATED META KEYS */
|
|
98
|
+
USER_COMMON_METADATA["USER_BAN_IS_BANNED"] = "user:ban:is_banned";
|
|
99
|
+
USER_COMMON_METADATA["USER_BAN_START_DATE"] = "user:ban:start_date";
|
|
100
|
+
USER_COMMON_METADATA["USER_BAN_DURATION"] = "user:ban:duration";
|
|
101
|
+
USER_COMMON_METADATA["USER_BAN_REASON"] = "user:ban:reason";
|
|
102
|
+
/** USER GENERAL INFO */
|
|
103
|
+
USER_COMMON_METADATA["USER_AVATAR"] = "user:avatar";
|
|
104
|
+
USER_COMMON_METADATA["USER_PHONE"] = "user:phone";
|
|
105
|
+
USER_COMMON_METADATA["USER_NEWSLETTER_ENABLED"] = "user:newsletter:enabled";
|
|
106
|
+
/** 2fa token */
|
|
107
|
+
USER_COMMON_METADATA["USER_2FA_TOKEN"] = "user:2fa:token";
|
|
108
|
+
/** Reset password */
|
|
109
|
+
// is reset password in progress
|
|
110
|
+
USER_COMMON_METADATA["USER_PWD_RESET"] = "user:pwd:reset";
|
|
111
|
+
// start date of reset password
|
|
112
|
+
USER_COMMON_METADATA["USER_PWD_RESET_START_DATE"] = "user:pwd_reset:start_date";
|
|
113
|
+
// wait time for reset password
|
|
114
|
+
USER_COMMON_METADATA["USER_PWD_RESET_WAIT_TIME"] = "user:pwd_reset:wait_time";
|
|
115
|
+
// reset password token
|
|
116
|
+
USER_COMMON_METADATA["USER_PWD_RESET_TOKEN"] = "user:pwd_reset:token";
|
|
117
|
+
})(USER_COMMON_METADATA || (USER_COMMON_METADATA = {}));
|
|
125
118
|
/**
|
|
126
119
|
* Base model for users used by auth and ACL system
|
|
127
120
|
*
|
|
@@ -130,59 +123,113 @@ export class UserQueryScopes {
|
|
|
130
123
|
let User = User_1 = class User extends ModelBase {
|
|
131
124
|
constructor(data) {
|
|
132
125
|
super(data);
|
|
126
|
+
/**
|
|
127
|
+
* By default should not return password & id
|
|
128
|
+
* Id - to not expose internal id and predict users id / count
|
|
129
|
+
* Instead id should be replaced with uuid when exposing to end user / app
|
|
130
|
+
*/
|
|
133
131
|
this._hidden = ['Password', 'Id'];
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
this.Uuid = _check_arg(_default(uuidv4()))(this.Uuid, 'uuid');
|
|
133
|
+
this.Role = _check_arg(_default([_cfg('rbac.defaultRole')()]))(this.Role, 'role');
|
|
134
|
+
this._ac = DI.get('AccessControl');
|
|
137
135
|
}
|
|
138
136
|
get IsGuest() {
|
|
139
137
|
return this.Role.indexOf('guest') !== -1 || this.Role.length === 0;
|
|
140
138
|
}
|
|
139
|
+
get IsBanned() {
|
|
140
|
+
return this.Metadata[USER_COMMON_METADATA.USER_BAN_IS_BANNED] === true;
|
|
141
|
+
}
|
|
141
142
|
can(resource, permission) {
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
resource = _check_arg(_trim(), _non_empty())(resource, 'resource');
|
|
144
|
+
permission = _check_arg(_trim(), _non_empty())(permission, 'permission');
|
|
145
|
+
return this._ac.can(this.Role)[permission](resource);
|
|
144
146
|
}
|
|
145
147
|
/**
|
|
146
|
-
* Shorthand for check if user can read any resource
|
|
148
|
+
* Shorthand for check if user can read any of specified resource
|
|
147
149
|
* @param resource
|
|
148
150
|
* @returns
|
|
149
151
|
*/
|
|
150
152
|
canReadAny(resource) {
|
|
151
153
|
return this.can(resource, 'readAny');
|
|
152
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Shortcut for check if user can read own resource
|
|
157
|
+
*
|
|
158
|
+
* @param resource
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
153
161
|
canReadOwn(resource) {
|
|
154
162
|
return this.can(resource, 'readOwn');
|
|
155
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Shortcut for check if user can update any resource
|
|
166
|
+
*
|
|
167
|
+
* @param resource
|
|
168
|
+
* @returns
|
|
169
|
+
*/
|
|
156
170
|
canUpdateAny(resource) {
|
|
157
171
|
return this.can(resource, 'updateAny');
|
|
158
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Shortcut for check if user can update own resource
|
|
175
|
+
* @param resource
|
|
176
|
+
* @returns
|
|
177
|
+
*/
|
|
159
178
|
canUpdateOwn(resource) {
|
|
160
179
|
return this.can(resource, 'updateOwn');
|
|
161
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Shortcut for check if user can delete any resource
|
|
183
|
+
* @param resource
|
|
184
|
+
* @returns
|
|
185
|
+
*/
|
|
162
186
|
canDeleteAny(resource) {
|
|
163
187
|
return this.can(resource, 'deleteAny');
|
|
164
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Shourtcut for check if user can delete own resource
|
|
191
|
+
* @param resource
|
|
192
|
+
* @returns
|
|
193
|
+
*/
|
|
165
194
|
canDeleteOwn(resource) {
|
|
166
195
|
return this.can(resource, 'deleteOwn');
|
|
167
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Shortcut for check if user can create any resource
|
|
199
|
+
* @param resource
|
|
200
|
+
* @returns
|
|
201
|
+
*/
|
|
168
202
|
canCreateAny(resource) {
|
|
169
203
|
return this.can(resource, 'createAny');
|
|
170
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Shourtcut for check if user can create own resource
|
|
207
|
+
* @param resource
|
|
208
|
+
* @returns
|
|
209
|
+
*/
|
|
171
210
|
canCreateOwn(resource) {
|
|
172
211
|
return this.can(resource, 'createOwn');
|
|
173
212
|
}
|
|
174
213
|
static getByLogin(login) {
|
|
214
|
+
login = _check_arg(_trim(), _non_empty())(login, 'login');
|
|
175
215
|
return User_1.query().whereLogin(login).first();
|
|
176
216
|
}
|
|
177
217
|
static getByEmail(email) {
|
|
218
|
+
email = _check_arg(_trim(), _non_empty(), _is_email())(email, 'email');
|
|
178
219
|
return User_1.query().whereEmail(email).first();
|
|
179
220
|
}
|
|
180
221
|
static getByUuid(uuid) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
222
|
+
uuid = _check_arg(_trim(), _is_uuid())(uuid, 'uuid');
|
|
223
|
+
return User_1.query().whereUuid(uuid).first();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Tries to get user by any identifier
|
|
227
|
+
*
|
|
228
|
+
* @param identifier login, email, id or uuid
|
|
229
|
+
* @returns
|
|
230
|
+
*/
|
|
231
|
+
static getByAnything(identifier) {
|
|
232
|
+
return User_1.query().whereAnything(identifier).first();
|
|
186
233
|
}
|
|
187
234
|
};
|
|
188
235
|
User._queryScopes = new UserQueryScopes();
|
|
@@ -194,6 +241,10 @@ __decorate([
|
|
|
194
241
|
Uuid(),
|
|
195
242
|
__metadata("design:type", String)
|
|
196
243
|
], User.prototype, "Uuid", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
Set(),
|
|
246
|
+
__metadata("design:type", Array)
|
|
247
|
+
], User.prototype, "Role", void 0);
|
|
197
248
|
__decorate([
|
|
198
249
|
CreatedAt(),
|
|
199
250
|
__metadata("design:type", DateTime)
|
|
@@ -211,15 +262,9 @@ __decorate([
|
|
|
211
262
|
__metadata("design:type", DateTime)
|
|
212
263
|
], User.prototype, "LastLoginAt", void 0);
|
|
213
264
|
__decorate([
|
|
214
|
-
HasMany(UserMetadata,
|
|
215
|
-
|
|
216
|
-
}),
|
|
217
|
-
__metadata("design:type", UserMetadataRelation)
|
|
265
|
+
HasMany(UserMetadata),
|
|
266
|
+
__metadata("design:type", MetadataRelation)
|
|
218
267
|
], User.prototype, "Metadata", void 0);
|
|
219
|
-
__decorate([
|
|
220
|
-
HasMany(UserAction),
|
|
221
|
-
__metadata("design:type", Relation)
|
|
222
|
-
], User.prototype, "Actions", void 0);
|
|
223
268
|
User = User_1 = __decorate([
|
|
224
269
|
Connection('default'),
|
|
225
270
|
Model('users'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,
|
|
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"}
|
|
@@ -7,17 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { BelongsTo, Connection, Model,
|
|
11
|
-
let UserMetadata = class UserMetadata extends
|
|
10
|
+
import { BelongsTo, Connection, Model, MetadataModel, SingleRelation } from '@spinajs/orm';
|
|
11
|
+
let UserMetadata = class UserMetadata extends MetadataModel {
|
|
12
12
|
};
|
|
13
|
-
__decorate([
|
|
14
|
-
Primary(),
|
|
15
|
-
__metadata("design:type", Number)
|
|
16
|
-
], UserMetadata.prototype, "Id", void 0);
|
|
17
|
-
__decorate([
|
|
18
|
-
UniversalConverter('Type'),
|
|
19
|
-
__metadata("design:type", Object)
|
|
20
|
-
], UserMetadata.prototype, "Value", void 0);
|
|
21
13
|
__decorate([
|
|
22
14
|
BelongsTo('User'),
|
|
23
15
|
__metadata("design:type", SingleRelation)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../../src/models/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMpF,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,aAA2B;CAG5D,CAAA;AADQ;IADN,SAAS,CAAC,MAAM,CAAC;8BACL,cAAc;0CAAO;AAFvB,YAAY;IAFxB,UAAU,CAAC,SAAS,CAAC;IACrB,KAAK,CAAC,gBAAgB,CAAC;GACX,YAAY,CAGxB"}
|
package/lib/mjs/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/mjs/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"}
|