@spinajs/rbac 2.0.46 → 2.0.50
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/README.md +11 -11
- package/lib/auth.d.ts +3 -2
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +24 -24
- package/lib/auth.js.map +1 -1
- package/lib/cli/ActivateUser.d.ts +1 -0
- package/lib/cli/ActivateUser.d.ts.map +1 -0
- package/lib/cli/ActivateUser.js +18 -21
- package/lib/cli/ActivateUser.js.map +1 -1
- package/lib/cli/BanUser.d.ts +1 -0
- package/lib/cli/BanUser.d.ts.map +1 -0
- package/lib/cli/BanUser.js +26 -29
- package/lib/cli/BanUser.js.map +1 -1
- package/lib/cli/ChangeUserPassword.d.ts +2 -1
- package/lib/cli/ChangeUserPassword.d.ts.map +1 -0
- package/lib/cli/ChangeUserPassword.js +26 -29
- package/lib/cli/ChangeUserPassword.js.map +1 -1
- package/lib/cli/ClearUserTimelineSchedule.d.ts +1 -0
- package/lib/cli/ClearUserTimelineSchedule.d.ts.map +1 -0
- package/lib/cli/ClearUserTimelineSchedule.js +16 -19
- package/lib/cli/ClearUserTimelineSchedule.js.map +1 -1
- package/lib/cli/CreateUser.d.ts +2 -1
- package/lib/cli/CreateUser.d.ts.map +1 -0
- package/lib/cli/CreateUser.js +27 -30
- package/lib/cli/CreateUser.js.map +1 -1
- package/lib/cli/DeleteUser.d.ts +1 -0
- package/lib/cli/DeleteUser.d.ts.map +1 -0
- package/lib/cli/DeleteUser.js +17 -20
- package/lib/cli/DeleteUser.js.map +1 -1
- package/lib/cli/FindUser.d.ts +1 -0
- package/lib/cli/FindUser.d.ts.map +1 -0
- package/lib/cli/FindUser.js +14 -17
- package/lib/cli/FindUser.js.map +1 -1
- package/lib/cli/GrantUserRole.d.ts +1 -0
- package/lib/cli/GrantUserRole.d.ts.map +1 -0
- package/lib/cli/GrantUserRole.js +20 -26
- package/lib/cli/GrantUserRole.js.map +1 -1
- package/lib/cli/LatestUserEvents.d.ts +1 -0
- package/lib/cli/LatestUserEvents.d.ts.map +1 -0
- package/lib/cli/LatestUserEvents.js +13 -16
- package/lib/cli/LatestUserEvents.js.map +1 -1
- package/lib/cli/RevokeUserRole.d.ts +1 -0
- package/lib/cli/RevokeUserRole.d.ts.map +1 -0
- package/lib/cli/RevokeUserRole.js +20 -26
- package/lib/cli/RevokeUserRole.js.map +1 -1
- package/lib/cli/UnbanUserSchedule.d.ts +1 -0
- package/lib/cli/UnbanUserSchedule.d.ts.map +1 -0
- package/lib/cli/UnbanUserSchedule.js +16 -19
- package/lib/cli/UnbanUserSchedule.js.map +1 -1
- package/lib/config/rbac.d.ts +1 -0
- package/lib/config/rbac.d.ts.map +1 -0
- package/lib/config/rbac.js +2 -4
- package/lib/config/rbac.js.map +1 -1
- package/lib/events/NewUser.d.ts +1 -0
- package/lib/events/NewUser.d.ts.map +1 -0
- package/lib/events/NewUser.js +4 -7
- package/lib/events/NewUser.js.map +1 -1
- package/lib/events/UserActivated.d.ts +1 -0
- package/lib/events/UserActivated.d.ts.map +1 -0
- package/lib/events/UserActivated.js +4 -7
- package/lib/events/UserActivated.js.map +1 -1
- package/lib/events/UserBanned.d.ts +1 -0
- package/lib/events/UserBanned.d.ts.map +1 -0
- package/lib/events/UserBanned.js +4 -7
- package/lib/events/UserBanned.js.map +1 -1
- package/lib/events/UserDeactivated.d.ts +1 -0
- package/lib/events/UserDeactivated.d.ts.map +1 -0
- package/lib/events/UserDeactivated.js +4 -7
- package/lib/events/UserDeactivated.js.map +1 -1
- package/lib/events/UserDeleted.d.ts +1 -0
- package/lib/events/UserDeleted.d.ts.map +1 -0
- package/lib/events/UserDeleted.js +4 -7
- package/lib/events/UserDeleted.js.map +1 -1
- package/lib/events/UserMetadataAdded.d.ts +1 -0
- package/lib/events/UserMetadataAdded.d.ts.map +1 -0
- package/lib/events/UserMetadataAdded.js +4 -7
- package/lib/events/UserMetadataAdded.js.map +1 -1
- package/lib/events/UserMetadataChanged.d.ts +1 -0
- package/lib/events/UserMetadataChanged.d.ts.map +1 -0
- package/lib/events/UserMetadataChanged.js +4 -7
- package/lib/events/UserMetadataChanged.js.map +1 -1
- package/lib/events/UserMetadataDeleted.d.ts +1 -0
- package/lib/events/UserMetadataDeleted.d.ts.map +1 -0
- package/lib/events/UserMetadataDeleted.js +4 -7
- package/lib/events/UserMetadataDeleted.js.map +1 -1
- package/lib/events/UserPasswordChanged.d.ts +1 -0
- package/lib/events/UserPasswordChanged.d.ts.map +1 -0
- package/lib/events/UserPasswordChanged.js +4 -7
- package/lib/events/UserPasswordChanged.js.map +1 -1
- package/lib/events/UserPropertyChanged.d.ts +1 -0
- package/lib/events/UserPropertyChanged.d.ts.map +1 -0
- package/lib/events/UserPropertyChanged.js +4 -7
- package/lib/events/UserPropertyChanged.js.map +1 -1
- package/lib/events/UserRoleGranted.d.ts +1 -0
- package/lib/events/UserRoleGranted.d.ts.map +1 -0
- package/lib/events/UserRoleGranted.js +4 -7
- package/lib/events/UserRoleGranted.js.map +1 -1
- package/lib/events/UserRoleRevoked.d.ts +1 -0
- package/lib/events/UserRoleRevoked.d.ts.map +1 -0
- package/lib/events/UserRoleRevoked.js +4 -7
- package/lib/events/UserRoleRevoked.js.map +1 -1
- package/lib/events/UserUnbanned.d.ts +1 -0
- package/lib/events/UserUnbanned.d.ts.map +1 -0
- package/lib/events/UserUnbanned.js +4 -7
- package/lib/events/UserUnbanned.js.map +1 -1
- package/lib/events/index.d.ts +14 -13
- package/lib/events/index.d.ts.map +1 -0
- package/lib/events/index.js +13 -29
- package/lib/events/index.js.map +1 -1
- package/lib/index.d.ts +13 -12
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +21 -39
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +2 -1
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/interfaces.js +8 -16
- package/lib/interfaces.js.map +1 -1
- package/lib/jobs/UnbanUser.d.ts +1 -0
- package/lib/jobs/UnbanUser.d.ts.map +1 -0
- package/lib/jobs/UnbanUser.js +14 -17
- package/lib/jobs/UnbanUser.js.map +1 -1
- package/lib/middleware.d.ts +1 -0
- package/lib/middleware.d.ts.map +1 -0
- package/lib/middleware.js +6 -9
- package/lib/middleware.js.map +1 -1
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.d.ts +1 -0
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.d.ts.map +1 -0
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.js +4 -7
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/models/User.d.ts +4 -4
- package/lib/models/User.d.ts.map +1 -0
- package/lib/models/User.js +33 -37
- package/lib/models/User.js.map +1 -1
- package/lib/models/UserMetadata.d.ts +2 -1
- package/lib/models/UserMetadata.d.ts.map +1 -0
- package/lib/models/UserMetadata.js +9 -12
- package/lib/models/UserMetadata.js.map +1 -1
- package/lib/models/UserTimeline.d.ts +2 -1
- package/lib/models/UserTimeline.d.ts.map +1 -0
- package/lib/models/UserTimeline.js +11 -14
- package/lib/models/UserTimeline.js.map +1 -1
- package/lib/password.d.ts +2 -1
- package/lib/password.d.ts.map +1 -0
- package/lib/password.js +15 -41
- package/lib/password.js.map +1 -1
- package/lib/session.d.ts +2 -1
- package/lib/session.d.ts.map +1 -0
- package/lib/session.js +17 -23
- package/lib/session.js.map +1 -1
- package/package.json +64 -60
- package/lib/cli/ChangePassword.d.ts +0 -0
- package/lib/cli/ChangePassword.js +0 -1
- package/lib/cli/ChangePassword.js.map +0 -1
- package/lib/cli/Find.d.ts +0 -12
- package/lib/cli/Find.js +0 -45
- package/lib/cli/Find.js.map +0 -1
- package/lib/events/UserPropertyChange.d.ts +0 -7
- package/lib/events/UserPropertyChange.js +0 -17
- package/lib/events/UserPropertyChange.js.map +0 -1
- package/lib/messages/ChangedProperties.d.ts +0 -6
- package/lib/messages/ChangedProperties.js +0 -8
- package/lib/messages/ChangedProperties.js.map +0 -1
- package/lib/messages/NewUser.d.ts +0 -14
- package/lib/messages/NewUser.js +0 -21
- package/lib/messages/NewUser.js.map +0 -1
- package/lib/messages/UserActivated.d.ts +0 -7
- package/lib/messages/UserActivated.js +0 -13
- package/lib/messages/UserActivated.js.map +0 -1
- package/lib/messages/UserBanned.d.ts +0 -7
- package/lib/messages/UserBanned.js +0 -13
- package/lib/messages/UserBanned.js.map +0 -1
package/lib/cli/CreateUser.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,21 +7,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const NewUser_1 = require("../events/NewUser");
|
|
23
|
-
let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
10
|
+
import { QueueClient } from '@spinajs/queue';
|
|
11
|
+
import { Log, Logger } from '@spinajs/log';
|
|
12
|
+
import { CliCommand, Command, Option } from '@spinajs/cli';
|
|
13
|
+
import { AutoinjectService } from '@spinajs/configuration';
|
|
14
|
+
import { DateTime } from 'luxon';
|
|
15
|
+
import { Autoinject } from '@spinajs/di';
|
|
16
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
17
|
+
import { PasswordProvider } from '../interfaces.js';
|
|
18
|
+
import { User } from '../models/User.js';
|
|
19
|
+
import { UserRegisteredMessage } from '../events/NewUser.js';
|
|
20
|
+
let CreateUser = class CreateUser extends CliCommand {
|
|
24
21
|
async execute(options) {
|
|
25
|
-
const user = new
|
|
22
|
+
const user = new User({
|
|
26
23
|
Email: options.email,
|
|
27
24
|
Login: options.login,
|
|
28
25
|
Role: options.roles.split(','),
|
|
@@ -39,10 +36,10 @@ let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
|
39
36
|
}
|
|
40
37
|
user.IsBanned = false;
|
|
41
38
|
user.IsActive = false;
|
|
42
|
-
user.RegisteredAt =
|
|
43
|
-
user.Uuid = (
|
|
39
|
+
user.RegisteredAt = DateTime.now();
|
|
40
|
+
user.Uuid = uuidv4();
|
|
44
41
|
await user.insert();
|
|
45
|
-
const qMessage = new
|
|
42
|
+
const qMessage = new UserRegisteredMessage();
|
|
46
43
|
qMessage.hydrate(user.toJSON());
|
|
47
44
|
// notify others about user creation
|
|
48
45
|
this.Queue.emit(qMessage);
|
|
@@ -50,23 +47,23 @@ let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
|
50
47
|
}
|
|
51
48
|
};
|
|
52
49
|
__decorate([
|
|
53
|
-
|
|
54
|
-
__metadata("design:type",
|
|
50
|
+
Logger('rbac'),
|
|
51
|
+
__metadata("design:type", Log)
|
|
55
52
|
], CreateUser.prototype, "Log", void 0);
|
|
56
53
|
__decorate([
|
|
57
|
-
|
|
58
|
-
__metadata("design:type",
|
|
54
|
+
AutoinjectService('rbac.password'),
|
|
55
|
+
__metadata("design:type", PasswordProvider)
|
|
59
56
|
], CreateUser.prototype, "PasswordProvider", void 0);
|
|
60
57
|
__decorate([
|
|
61
|
-
|
|
62
|
-
__metadata("design:type",
|
|
58
|
+
Autoinject(QueueClient),
|
|
59
|
+
__metadata("design:type", QueueClient)
|
|
63
60
|
], CreateUser.prototype, "Queue", void 0);
|
|
64
61
|
CreateUser = __decorate([
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
Command('rbas:user-create', 'Creates user with given credentials'),
|
|
63
|
+
Option('-e, --email <email>', true, 'user email'),
|
|
64
|
+
Option('-r, --roles <roles>', true, 'user roles, comma separated'),
|
|
65
|
+
Option('-l, --login <login>', true, 'user login'),
|
|
66
|
+
Option('-p, --password <password>', false, 'user password, if not set will be generated and printed out to console')
|
|
70
67
|
], CreateUser);
|
|
71
|
-
|
|
68
|
+
export { CreateUser };
|
|
72
69
|
//# sourceMappingURL=CreateUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateUser.js","sourceRoot":"","sources":["../../src/cli/CreateUser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateUser.js","sourceRoot":"","sources":["../../src/cli/CreateUser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AActD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAUjC,KAAK,CAAC,OAAO,CAAC,OAA4B;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACpE;aAAM;YACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;QAErB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC7C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEhC,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAzCC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;uCAAC;AAEnB;IAAC,iBAAiB,CAAC,eAAe,CAAC;8BACP,gBAAgB;oDAAC;AAE7C;IAAC,UAAU,CAAC,WAAW,CAAC;8BACP,WAAW;yCAAC;AARlB,UAAU;IALtB,OAAO,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;IAClE,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,YAAY,CAAC;IACjD,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,6BAA6B,CAAC;IAClE,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,YAAY,CAAC;IACjD,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,wEAAwE,CAAC;GACxG,UAAU,CA0CtB;SA1CY,UAAU"}
|
package/lib/cli/DeleteUser.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteUser.d.ts","sourceRoot":"","sources":["../../src/cli/DeleteUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAK7D,qBAEa,UAAW,SAAQ,UAAU;IAExC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAEhB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAStD"}
|
package/lib/cli/DeleteUser.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,34 +7,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const UserDeleted_1 = require("../events/UserDeleted");
|
|
20
|
-
let DeleteUser = class DeleteUser extends cli_1.CliCommand {
|
|
10
|
+
import { ResourceNotFound } from '../../../exceptions/lib/index.js';
|
|
11
|
+
import { QueueClient } from '@spinajs/Queue';
|
|
12
|
+
import { Log, Logger } from '@spinajs/log';
|
|
13
|
+
import { Argument, CliCommand, Command } from '@spinajs/cli';
|
|
14
|
+
import { Autoinject } from '@spinajs/di';
|
|
15
|
+
import { User } from '../models/User.js';
|
|
16
|
+
import { UserDeleted } from '../events/UserDeleted.js';
|
|
17
|
+
let DeleteUser = class DeleteUser extends CliCommand {
|
|
21
18
|
async execute(idOrUuid) {
|
|
22
|
-
const result = await
|
|
19
|
+
const result = await User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new ResourceNotFound('User with given id or uuid not found in db'));
|
|
23
20
|
await result.destroy();
|
|
24
|
-
this.Queue.emit(new
|
|
21
|
+
this.Queue.emit(new UserDeleted(idOrUuid));
|
|
25
22
|
this.Log.success(`User deleted sucessyfully`);
|
|
26
23
|
}
|
|
27
24
|
};
|
|
28
25
|
__decorate([
|
|
29
|
-
|
|
30
|
-
__metadata("design:type",
|
|
26
|
+
Logger('rbac'),
|
|
27
|
+
__metadata("design:type", Log)
|
|
31
28
|
], DeleteUser.prototype, "Log", void 0);
|
|
32
29
|
__decorate([
|
|
33
|
-
|
|
34
|
-
__metadata("design:type",
|
|
30
|
+
Autoinject(QueueClient),
|
|
31
|
+
__metadata("design:type", QueueClient)
|
|
35
32
|
], DeleteUser.prototype, "Queue", void 0);
|
|
36
33
|
DeleteUser = __decorate([
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
Command('rbac:user-delete', 'Deletes user from database permanently'),
|
|
35
|
+
Argument('idOrUuid', 'numeric id or uuid')
|
|
39
36
|
], DeleteUser);
|
|
40
|
-
|
|
37
|
+
export { DeleteUser };
|
|
41
38
|
//# sourceMappingURL=DeleteUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteUser.js","sourceRoot":"","sources":["../../src/cli/DeleteUser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteUser.js","sourceRoot":"","sources":["../../src/cli/DeleteUser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIhD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAOjC,KAAK,CAAC,OAAO,CAAC,QAAgB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAfC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;uCAAC;AAEnB;IAAC,UAAU,CAAC,WAAW,CAAC;8BACP,WAAW;yCAAC;AALlB,UAAU;IAFtB,OAAO,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;IACrE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;GAC9B,UAAU,CAgBtB;SAhBY,UAAU"}
|
package/lib/cli/FindUser.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FindUser.d.ts","sourceRoot":"","sources":["../../src/cli/FindUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAU,UAAU,EAAW,MAAM,cAAc,CAAC;AAG3D,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAIa,UAAW,SAAQ,UAAU;IAExC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBzD"}
|
package/lib/cli/FindUser.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,22 +7,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const User_1 = require("../models/User");
|
|
16
|
-
let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
10
|
+
import { Log, Logger } from '@spinajs/log';
|
|
11
|
+
import { Option, CliCommand, Command } from '@spinajs/cli';
|
|
12
|
+
import { User } from '../models/User.js';
|
|
13
|
+
let CreateUser = class CreateUser extends CliCommand {
|
|
17
14
|
async execute(options) {
|
|
18
15
|
let query = null;
|
|
19
16
|
if (options.email) {
|
|
20
|
-
query =
|
|
17
|
+
query = User.where('Email', 'like', `%${options.email}`);
|
|
21
18
|
}
|
|
22
19
|
if (options.login) {
|
|
23
|
-
query =
|
|
20
|
+
query = User.where('Login', 'like', `%${options.login}`);
|
|
24
21
|
}
|
|
25
22
|
if (options.idOrUuid) {
|
|
26
|
-
query =
|
|
23
|
+
query = User.where('Id', options.idOrUuid).orWhere('Uuid', options.idOrUuid);
|
|
27
24
|
}
|
|
28
25
|
const user = await query;
|
|
29
26
|
user.forEach((x) => {
|
|
@@ -32,14 +29,14 @@ let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
|
32
29
|
}
|
|
33
30
|
};
|
|
34
31
|
__decorate([
|
|
35
|
-
|
|
36
|
-
__metadata("design:type",
|
|
32
|
+
Logger('rbac'),
|
|
33
|
+
__metadata("design:type", Log)
|
|
37
34
|
], CreateUser.prototype, "Log", void 0);
|
|
38
35
|
CreateUser = __decorate([
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
Command('rbac:user-find', 'Sets active or inactive user'),
|
|
37
|
+
Option('-i, --idOrUuid <idOrUuid>', false, 'numeric id or uuid'),
|
|
38
|
+
Option('-l, --login <login>', false, 'login'),
|
|
39
|
+
Option('-e, --email <email>', false, 'email')
|
|
43
40
|
], CreateUser);
|
|
44
|
-
|
|
41
|
+
export { CreateUser };
|
|
45
42
|
//# sourceMappingURL=FindUser.js.map
|
package/lib/cli/FindUser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindUser.js","sourceRoot":"","sources":["../../src/cli/FindUser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FindUser.js","sourceRoot":"","sources":["../../src/cli/FindUser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAYlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAIjC,KAAK,CAAC,OAAO,CAAC,OAAmB;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9E;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpK,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxBC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;uCAAC;AAFR,UAAU;IAJtB,OAAO,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IACzD,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,oBAAoB,CAAC;IAChE,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC;IAC7C,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC;GACjC,UAAU,CAyBtB;SAzBY,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrantUserRole.d.ts","sourceRoot":"","sources":["../../src/cli/GrantUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAO7D,qBAGa,aAAc,SAAQ,UAAU;IAE3C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAEhB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYpE"}
|
package/lib/cli/GrantUserRole.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,41 +7,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const User_1 = require("../models/User");
|
|
21
|
-
const UserRoleGranted_1 = require("../events/UserRoleGranted");
|
|
22
|
-
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
-
let GrantUserRole = class GrantUserRole extends cli_1.CliCommand {
|
|
10
|
+
import { QueueClient } from '@spinajs/Queue';
|
|
11
|
+
import { Log, Logger } from '@spinajs/log';
|
|
12
|
+
import { Argument, CliCommand, Command } from '@spinajs/cli';
|
|
13
|
+
import { Autoinject } from '@spinajs/di';
|
|
14
|
+
import { User } from '../models/User.js';
|
|
15
|
+
import { UserRoleGranted } from '../events/UserRoleGranted.js';
|
|
16
|
+
import { ResourceNotFound } from '@spinajs/exceptions';
|
|
17
|
+
import _ from 'lodash';
|
|
18
|
+
let GrantUserRole = class GrantUserRole extends CliCommand {
|
|
25
19
|
async execute(idOrUuid, role) {
|
|
26
|
-
const result = await
|
|
20
|
+
const result = await User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new ResourceNotFound('User with given id or uuid not found in db'));
|
|
27
21
|
result.Role.push(role);
|
|
28
|
-
result.Role =
|
|
22
|
+
result.Role = _.uniq(result.Role);
|
|
29
23
|
await result.update();
|
|
30
|
-
this.Queue.emit(new
|
|
24
|
+
this.Queue.emit(new UserRoleGranted(idOrUuid, role));
|
|
31
25
|
this.Log.success(`User role granted !`);
|
|
32
26
|
}
|
|
33
27
|
};
|
|
34
28
|
__decorate([
|
|
35
|
-
|
|
36
|
-
__metadata("design:type",
|
|
29
|
+
Logger('rbac'),
|
|
30
|
+
__metadata("design:type", Log)
|
|
37
31
|
], GrantUserRole.prototype, "Log", void 0);
|
|
38
32
|
__decorate([
|
|
39
|
-
|
|
40
|
-
__metadata("design:type",
|
|
33
|
+
Autoinject(QueueClient),
|
|
34
|
+
__metadata("design:type", QueueClient)
|
|
41
35
|
], GrantUserRole.prototype, "Queue", void 0);
|
|
42
36
|
GrantUserRole = __decorate([
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
Command('rbac:user-grant', 'Grants role to user'),
|
|
38
|
+
Argument('idOrUuid', 'numeric id or uuid'),
|
|
39
|
+
Argument('role', 'user role')
|
|
46
40
|
], GrantUserRole);
|
|
47
|
-
|
|
41
|
+
export { GrantUserRole };
|
|
48
42
|
//# sourceMappingURL=GrantUserRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrantUserRole.js","sourceRoot":"","sources":["../../src/cli/GrantUserRole.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GrantUserRole.js","sourceRoot":"","sources":["../../src/cli/GrantUserRole.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAKhB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAOpC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAlBC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;0CAAC;AAEnB;IAAC,UAAU,CAAC,WAAW,CAAC;8BACP,WAAW;4CAAC;AALlB,aAAa;IAHzB,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;GACjB,aAAa,CAmBzB;SAnBY,aAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LatestUserEvents.d.ts","sourceRoot":"","sources":["../../src/cli/LatestUserEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAI7D,qBAGa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrE"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,31 +7,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const User_1 = require("../models/User");
|
|
17
|
-
let LatestUserEvents = class LatestUserEvents extends cli_1.CliCommand {
|
|
10
|
+
import { Log, Logger } from '@spinajs/log';
|
|
11
|
+
import { Argument, CliCommand, Command } from '@spinajs/cli';
|
|
12
|
+
import { UserAction } from '../models/UserTimeline.js';
|
|
13
|
+
import { User } from '../models/User.js';
|
|
14
|
+
let LatestUserEvents = class LatestUserEvents extends CliCommand {
|
|
18
15
|
async execute(idOrUuid, count) {
|
|
19
|
-
const user = await
|
|
16
|
+
const user = await User.where('Id', idOrUuid)
|
|
20
17
|
.orWhere('Uuid', idOrUuid)
|
|
21
18
|
.firstOrThrow(new Error(`No user with id ${idOrUuid}`));
|
|
22
|
-
const timeline = await
|
|
19
|
+
const timeline = await UserAction.where({ User: user }).take(count).orderByDescending('CreatedAt');
|
|
23
20
|
timeline.forEach((x) => {
|
|
24
21
|
this.Log.info(`Event ${x.Action}, date: ${x.CreatedAt.toISO()}, persistent: ${x.Persistent}, data: ${x.Data}`);
|
|
25
22
|
});
|
|
26
23
|
}
|
|
27
24
|
};
|
|
28
25
|
__decorate([
|
|
29
|
-
|
|
30
|
-
__metadata("design:type",
|
|
26
|
+
Logger('console'),
|
|
27
|
+
__metadata("design:type", Log)
|
|
31
28
|
], LatestUserEvents.prototype, "Log", void 0);
|
|
32
29
|
LatestUserEvents = __decorate([
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
Command('rbac:user-events', 'Shows latest user timelinet events'),
|
|
31
|
+
Argument('idOrUuid', 'numeric id or uuid'),
|
|
32
|
+
Argument('count', 'how many entries should we get', 10, (opt) => parseInt(opt))
|
|
36
33
|
], LatestUserEvents);
|
|
37
|
-
|
|
34
|
+
export { LatestUserEvents };
|
|
38
35
|
//# sourceMappingURL=LatestUserEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LatestUserEvents.js","sourceRoot":"","sources":["../../src/cli/LatestUserEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LatestUserEvents.js","sourceRoot":"","sources":["../../src/cli/LatestUserEvents.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAIvC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,KAAa;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;aAC1C,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,YAAY,CAAC,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEnG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,UAAU,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAdC;IAAC,MAAM,CAAC,SAAS,CAAC;8BACH,GAAG;6CAAC;AAFR,gBAAgB;IAH5B,OAAO,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;IACjE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;GACnE,gBAAgB,CAe5B;SAfY,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RevokeUserRole.d.ts","sourceRoot":"","sources":["../../src/cli/RevokeUserRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAY,UAAU,EAAW,MAAM,cAAc,CAAC;AAO7D,qBAGa,cAAe,SAAQ,UAAU;IAE5C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAEhB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWpE"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,40 +7,35 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const User_1 = require("../models/User");
|
|
21
|
-
const UserRoleRevoked_1 = require("../events/UserRoleRevoked");
|
|
22
|
-
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
-
let RevokeUserRole = class RevokeUserRole extends cli_1.CliCommand {
|
|
10
|
+
import { QueueClient } from '@spinajs/Queue';
|
|
11
|
+
import { Log, Logger } from '@spinajs/log';
|
|
12
|
+
import { Argument, CliCommand, Command } from '@spinajs/cli';
|
|
13
|
+
import { Autoinject } from '@spinajs/di';
|
|
14
|
+
import { User } from '../models/User.js';
|
|
15
|
+
import { UserRoleRevoked } from '../events/UserRoleRevoked.js';
|
|
16
|
+
import { ResourceNotFound } from '@spinajs/exceptions';
|
|
17
|
+
import _ from 'lodash';
|
|
18
|
+
let RevokeUserRole = class RevokeUserRole extends CliCommand {
|
|
25
19
|
async execute(idOrUuid, role) {
|
|
26
|
-
const result = await
|
|
27
|
-
result.Role =
|
|
20
|
+
const result = await User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new ResourceNotFound('User with given id or uuid not found in db'));
|
|
21
|
+
result.Role = _.remove(result.Role, role);
|
|
28
22
|
await result.update();
|
|
29
|
-
this.Queue.emit(new
|
|
23
|
+
this.Queue.emit(new UserRoleRevoked(idOrUuid, role));
|
|
30
24
|
this.Log.success(`User role revoked !`);
|
|
31
25
|
}
|
|
32
26
|
};
|
|
33
27
|
__decorate([
|
|
34
|
-
|
|
35
|
-
__metadata("design:type",
|
|
28
|
+
Logger('rbac'),
|
|
29
|
+
__metadata("design:type", Log)
|
|
36
30
|
], RevokeUserRole.prototype, "Log", void 0);
|
|
37
31
|
__decorate([
|
|
38
|
-
|
|
39
|
-
__metadata("design:type",
|
|
32
|
+
Autoinject(QueueClient),
|
|
33
|
+
__metadata("design:type", QueueClient)
|
|
40
34
|
], RevokeUserRole.prototype, "Queue", void 0);
|
|
41
35
|
RevokeUserRole = __decorate([
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
Command('rbac:user-revoke', 'Sets active or inactive user'),
|
|
37
|
+
Argument('idOrUuid', 'numeric id or uuid'),
|
|
38
|
+
Argument('role', 'user role')
|
|
45
39
|
], RevokeUserRole);
|
|
46
|
-
|
|
40
|
+
export { RevokeUserRole };
|
|
47
41
|
//# sourceMappingURL=RevokeUserRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RevokeUserRole.js","sourceRoot":"","sources":["../../src/cli/RevokeUserRole.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RevokeUserRole.js","sourceRoot":"","sources":["../../src/cli/RevokeUserRole.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAKhB,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAOrC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAjBC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;2CAAC;AAEnB;IAAC,UAAU,CAAC,WAAW,CAAC;8BACP,WAAW;6CAAC;AALlB,cAAc;IAH1B,OAAO,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;GACjB,cAAc,CAkB1B;SAlBY,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnbanUserSchedule.d.ts","sourceRoot":"","sources":["../../src/cli/UnbanUserSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AAMnD,qBACa,iBAAkB,SAAQ,UAAU;IAE/C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAG/B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAEjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BtC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,20 +7,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const luxon_1 = require("luxon");
|
|
19
|
-
let UnbanUserSchedule = class UnbanUserSchedule extends cli_1.CliCommand {
|
|
10
|
+
import { Log, Logger } from '@spinajs/log';
|
|
11
|
+
import { CliCommand, Command } from '@spinajs/cli';
|
|
12
|
+
import { Config } from '@spinajs/configuration';
|
|
13
|
+
import { CronJob } from 'cron';
|
|
14
|
+
import { UserAction } from '../models/UserTimeline.js';
|
|
15
|
+
import { DateTime } from 'luxon';
|
|
16
|
+
let UnbanUserSchedule = class UnbanUserSchedule extends CliCommand {
|
|
20
17
|
async execute() {
|
|
21
|
-
new
|
|
22
|
-
const result = await
|
|
18
|
+
new CronJob(this.CronSchedule, async () => {
|
|
19
|
+
const result = await UserAction.destroy()
|
|
23
20
|
.where('Persistent', false)
|
|
24
|
-
.andWhere('CreatedAt', '<=',
|
|
21
|
+
.andWhere('CreatedAt', '<=', DateTime.now().plus({
|
|
25
22
|
minutes: -this.TimelineTTL,
|
|
26
23
|
}));
|
|
27
24
|
if (result && result.RowsAffected > 0) {
|
|
@@ -37,19 +34,19 @@ let UnbanUserSchedule = class UnbanUserSchedule extends cli_1.CliCommand {
|
|
|
37
34
|
}
|
|
38
35
|
};
|
|
39
36
|
__decorate([
|
|
40
|
-
|
|
41
|
-
__metadata("design:type",
|
|
37
|
+
Logger('rbac'),
|
|
38
|
+
__metadata("design:type", Log)
|
|
42
39
|
], UnbanUserSchedule.prototype, "Log", void 0);
|
|
43
40
|
__decorate([
|
|
44
|
-
|
|
41
|
+
Config('rbac.timeline.schedule'),
|
|
45
42
|
__metadata("design:type", String)
|
|
46
43
|
], UnbanUserSchedule.prototype, "CronSchedule", void 0);
|
|
47
44
|
__decorate([
|
|
48
|
-
|
|
45
|
+
Config('rbac.timeline.ttl'),
|
|
49
46
|
__metadata("design:type", Number)
|
|
50
47
|
], UnbanUserSchedule.prototype, "TimelineTTL", void 0);
|
|
51
48
|
UnbanUserSchedule = __decorate([
|
|
52
|
-
|
|
49
|
+
Command('rbac:unban-schedule', 'Starts a schedule that automatically unbabns users')
|
|
53
50
|
], UnbanUserSchedule);
|
|
54
|
-
|
|
51
|
+
export { UnbanUserSchedule };
|
|
55
52
|
//# sourceMappingURL=UnbanUserSchedule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnbanUserSchedule.js","sourceRoot":"","sources":["../../src/cli/UnbanUserSchedule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UnbanUserSchedule.js","sourceRoot":"","sources":["../../src/cli/UnbanUserSchedule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAUxC,KAAK,CAAC,OAAO;QAClB,IAAI,OAAO,CACT,IAAI,CAAC,YAAY,EACjB,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;iBACtC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CACP,WAAW,EACX,IAAI,EACJ,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW;aAC3B,CAAC,CACH,CAAC;YAEJ,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,YAAY,uBAAuB,CAAC,CAAC;aACtE;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;aAC9D;QACH,CAAC,EACD,GAAG,EAAE;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC,EACD,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AArCC;IAAC,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;8CAAC;AAEnB;IAAC,MAAM,CAAC,wBAAwB,CAAC;;uDACF;AAE/B;IAAC,MAAM,CAAC,mBAAmB,CAAC;;sDACE;AARnB,iBAAiB;IAD7B,OAAO,CAAC,qBAAqB,EAAE,oDAAoD,CAAC;GACxE,iBAAiB,CAsC7B;SAtCY,iBAAiB"}
|
package/lib/config/rbac.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../src/config/rbac.ts"],"names":[],"mappings":""}
|