@spinajs/rbac 2.0.179 → 2.0.181
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/auth.d.ts +15 -15
- package/lib/cjs/auth.js +103 -103
- package/lib/cjs/auth.js.map +1 -1
- package/lib/cjs/cli/ActivateUser.d.ts +8 -8
- package/lib/cjs/cli/ActivateUser.js +47 -47
- package/lib/cjs/cli/ActivateUser.js.map +1 -1
- package/lib/cjs/cli/BanUser.d.ts +8 -8
- package/lib/cjs/cli/BanUser.js +63 -63
- package/lib/cjs/cli/BanUser.js.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.d.ts +11 -11
- package/lib/cjs/cli/ChangeUserPassword.js +58 -58
- package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/cjs/cli/ClearUserTimelineSchedule.d.ts +8 -8
- package/lib/cjs/cli/ClearUserTimelineSchedule.js +54 -54
- package/lib/cjs/cli/ClearUserTimelineSchedule.js.map +1 -1
- package/lib/cjs/cli/CreateUser.d.ts +17 -17
- package/lib/cjs/cli/CreateUser.js +69 -69
- package/lib/cjs/cli/CreateUser.js.map +1 -1
- package/lib/cjs/cli/DeleteUser.d.ts +8 -8
- package/lib/cjs/cli/DeleteUser.js +40 -40
- package/lib/cjs/cli/DeleteUser.js.map +1 -1
- package/lib/cjs/cli/FindUser.d.ts +12 -12
- package/lib/cjs/cli/FindUser.js +44 -44
- package/lib/cjs/cli/FindUser.js.map +1 -1
- package/lib/cjs/cli/GrantUserRole.d.ts +8 -8
- package/lib/cjs/cli/GrantUserRole.js +47 -47
- package/lib/cjs/cli/GrantUserRole.js.map +1 -1
- package/lib/cjs/cli/LatestUserEvents.d.ts +6 -6
- package/lib/cjs/cli/LatestUserEvents.js +37 -37
- package/lib/cjs/cli/LatestUserEvents.js.map +1 -1
- package/lib/cjs/cli/RevokeUserRole.d.ts +8 -8
- package/lib/cjs/cli/RevokeUserRole.js +46 -46
- package/lib/cjs/cli/RevokeUserRole.js.map +1 -1
- package/lib/cjs/cli/UnbanUserSchedule.d.ts +8 -8
- package/lib/cjs/cli/UnbanUserSchedule.js +54 -54
- package/lib/cjs/cli/UnbanUserSchedule.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +115 -115
- package/lib/cjs/config/rbac.js +120 -120
- package/lib/cjs/decorators/Resource.d.ts +8 -8
- package/lib/cjs/decorators/Resource.js +17 -17
- package/lib/cjs/events/NewUser.d.ts +12 -12
- package/lib/cjs/events/NewUser.js +16 -16
- package/lib/cjs/events/NewUser.js.map +1 -1
- package/lib/cjs/events/UserActivated.d.ts +5 -5
- package/lib/cjs/events/UserActivated.js +24 -24
- package/lib/cjs/events/UserActivated.js.map +1 -1
- package/lib/cjs/events/UserBanned.d.ts +6 -6
- package/lib/cjs/events/UserBanned.js +25 -25
- package/lib/cjs/events/UserBanned.js.map +1 -1
- package/lib/cjs/events/UserDeactivated.d.ts +5 -5
- package/lib/cjs/events/UserDeactivated.js +24 -24
- package/lib/cjs/events/UserDeactivated.js.map +1 -1
- package/lib/cjs/events/UserDeleted.d.ts +5 -5
- package/lib/cjs/events/UserDeleted.js +24 -24
- package/lib/cjs/events/UserDeleted.js.map +1 -1
- package/lib/cjs/events/UserMetadataAdded.d.ts +5 -5
- package/lib/cjs/events/UserMetadataAdded.js +24 -24
- package/lib/cjs/events/UserMetadataAdded.js.map +1 -1
- package/lib/cjs/events/UserMetadataChanged.d.ts +5 -5
- package/lib/cjs/events/UserMetadataChanged.js +24 -24
- package/lib/cjs/events/UserMetadataChanged.js.map +1 -1
- package/lib/cjs/events/UserMetadataDeleted.d.ts +5 -5
- package/lib/cjs/events/UserMetadataDeleted.js +24 -24
- package/lib/cjs/events/UserMetadataDeleted.js.map +1 -1
- package/lib/cjs/events/UserPasswordChanged.d.ts +5 -5
- package/lib/cjs/events/UserPasswordChanged.js +24 -24
- package/lib/cjs/events/UserPasswordChanged.js.map +1 -1
- package/lib/cjs/events/UserPropertyChanged.d.ts +7 -7
- package/lib/cjs/events/UserPropertyChanged.js +16 -16
- package/lib/cjs/events/UserPropertyChanged.js.map +1 -1
- package/lib/cjs/events/UserRoleGranted.d.ts +6 -6
- package/lib/cjs/events/UserRoleGranted.js +25 -25
- package/lib/cjs/events/UserRoleGranted.js.map +1 -1
- package/lib/cjs/events/UserRoleRevoked.d.ts +6 -6
- package/lib/cjs/events/UserRoleRevoked.js +25 -25
- package/lib/cjs/events/UserRoleRevoked.js.map +1 -1
- package/lib/cjs/events/UserUnbanned.d.ts +5 -5
- package/lib/cjs/events/UserUnbanned.js +24 -24
- package/lib/cjs/events/UserUnbanned.js.map +1 -1
- package/lib/cjs/events/index.d.ts +13 -13
- package/lib/cjs/events/index.js +29 -29
- package/lib/cjs/index.d.ts +20 -20
- package/lib/cjs/index.js +85 -85
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +259 -259
- package/lib/cjs/interfaces.js +45 -45
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/jobs/UnbanUser.d.ts +9 -9
- package/lib/cjs/jobs/UnbanUser.js +43 -43
- package/lib/cjs/jobs/UnbanUser.js.map +1 -1
- package/lib/cjs/middleware.d.ts +5 -5
- package/lib/cjs/middleware.js +24 -24
- package/lib/cjs/middleware.js.map +1 -1
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts +5 -5
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js +56 -56
- package/lib/cjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/cjs/models/User.d.ts +96 -94
- package/lib/cjs/models/User.d.ts.map +1 -1
- package/lib/cjs/models/User.js +229 -219
- package/lib/cjs/models/User.js.map +1 -1
- package/lib/cjs/models/UserMetadata.d.ts +9 -9
- package/lib/cjs/models/UserMetadata.js +32 -32
- package/lib/cjs/models/UserMetadata.js.map +1 -1
- package/lib/cjs/models/UserTimeline.d.ts +28 -28
- package/lib/cjs/models/UserTimeline.js +46 -46
- package/lib/cjs/models/UserTimeline.js.map +1 -1
- package/lib/cjs/password.d.ts +25 -25
- package/lib/cjs/password.js +91 -91
- package/lib/cjs/password.js.map +1 -1
- package/lib/cjs/session.d.ts +33 -33
- package/lib/cjs/session.js +100 -100
- package/lib/cjs/session.js.map +1 -1
- package/lib/mjs/auth.d.ts +15 -15
- package/lib/mjs/auth.js +100 -100
- package/lib/mjs/auth.js.map +1 -1
- package/lib/mjs/cli/ActivateUser.d.ts +8 -8
- package/lib/mjs/cli/ActivateUser.js +44 -44
- package/lib/mjs/cli/ActivateUser.js.map +1 -1
- package/lib/mjs/cli/BanUser.d.ts +8 -8
- package/lib/mjs/cli/BanUser.js +60 -60
- package/lib/mjs/cli/BanUser.js.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.d.ts +11 -11
- package/lib/mjs/cli/ChangeUserPassword.js +55 -55
- package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/mjs/cli/ClearUserTimelineSchedule.d.ts +8 -8
- package/lib/mjs/cli/ClearUserTimelineSchedule.js +51 -51
- package/lib/mjs/cli/ClearUserTimelineSchedule.js.map +1 -1
- package/lib/mjs/cli/CreateUser.d.ts +17 -17
- package/lib/mjs/cli/CreateUser.js +66 -66
- package/lib/mjs/cli/CreateUser.js.map +1 -1
- package/lib/mjs/cli/DeleteUser.d.ts +8 -8
- package/lib/mjs/cli/DeleteUser.js +37 -37
- package/lib/mjs/cli/DeleteUser.js.map +1 -1
- package/lib/mjs/cli/FindUser.d.ts +12 -12
- package/lib/mjs/cli/FindUser.js +41 -41
- package/lib/mjs/cli/FindUser.js.map +1 -1
- package/lib/mjs/cli/GrantUserRole.d.ts +8 -8
- package/lib/mjs/cli/GrantUserRole.js +41 -41
- package/lib/mjs/cli/GrantUserRole.js.map +1 -1
- package/lib/mjs/cli/LatestUserEvents.d.ts +6 -6
- package/lib/mjs/cli/LatestUserEvents.js +34 -34
- package/lib/mjs/cli/LatestUserEvents.js.map +1 -1
- package/lib/mjs/cli/RevokeUserRole.d.ts +8 -8
- package/lib/mjs/cli/RevokeUserRole.js +40 -40
- package/lib/mjs/cli/RevokeUserRole.js.map +1 -1
- package/lib/mjs/cli/UnbanUserSchedule.d.ts +8 -8
- package/lib/mjs/cli/UnbanUserSchedule.js +51 -51
- package/lib/mjs/cli/UnbanUserSchedule.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +115 -115
- package/lib/mjs/config/rbac.js +118 -118
- package/lib/mjs/decorators/Resource.d.ts +8 -8
- package/lib/mjs/decorators/Resource.js +13 -13
- package/lib/mjs/events/NewUser.d.ts +12 -12
- package/lib/mjs/events/NewUser.js +13 -13
- package/lib/mjs/events/NewUser.js.map +1 -1
- package/lib/mjs/events/UserActivated.d.ts +5 -5
- package/lib/mjs/events/UserActivated.js +21 -21
- package/lib/mjs/events/UserActivated.js.map +1 -1
- package/lib/mjs/events/UserBanned.d.ts +6 -6
- package/lib/mjs/events/UserBanned.js +22 -22
- package/lib/mjs/events/UserBanned.js.map +1 -1
- package/lib/mjs/events/UserDeactivated.d.ts +5 -5
- package/lib/mjs/events/UserDeactivated.js +21 -21
- package/lib/mjs/events/UserDeactivated.js.map +1 -1
- package/lib/mjs/events/UserDeleted.d.ts +5 -5
- package/lib/mjs/events/UserDeleted.js +21 -21
- package/lib/mjs/events/UserDeleted.js.map +1 -1
- package/lib/mjs/events/UserMetadataAdded.d.ts +5 -5
- package/lib/mjs/events/UserMetadataAdded.js +21 -21
- package/lib/mjs/events/UserMetadataAdded.js.map +1 -1
- package/lib/mjs/events/UserMetadataChanged.d.ts +5 -5
- package/lib/mjs/events/UserMetadataChanged.js +21 -21
- package/lib/mjs/events/UserMetadataChanged.js.map +1 -1
- package/lib/mjs/events/UserMetadataDeleted.d.ts +5 -5
- package/lib/mjs/events/UserMetadataDeleted.js +21 -21
- package/lib/mjs/events/UserMetadataDeleted.js.map +1 -1
- package/lib/mjs/events/UserPasswordChanged.d.ts +5 -5
- package/lib/mjs/events/UserPasswordChanged.js +21 -21
- package/lib/mjs/events/UserPasswordChanged.js.map +1 -1
- package/lib/mjs/events/UserPropertyChanged.d.ts +7 -7
- package/lib/mjs/events/UserPropertyChanged.js +13 -13
- package/lib/mjs/events/UserPropertyChanged.js.map +1 -1
- package/lib/mjs/events/UserRoleGranted.d.ts +6 -6
- package/lib/mjs/events/UserRoleGranted.js +22 -22
- package/lib/mjs/events/UserRoleGranted.js.map +1 -1
- package/lib/mjs/events/UserRoleRevoked.d.ts +6 -6
- package/lib/mjs/events/UserRoleRevoked.js +22 -22
- package/lib/mjs/events/UserRoleRevoked.js.map +1 -1
- package/lib/mjs/events/UserUnbanned.d.ts +5 -5
- package/lib/mjs/events/UserUnbanned.js +21 -21
- package/lib/mjs/events/UserUnbanned.js.map +1 -1
- package/lib/mjs/events/index.d.ts +13 -13
- package/lib/mjs/events/index.js +13 -13
- package/lib/mjs/index.d.ts +20 -20
- package/lib/mjs/index.js +64 -64
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +259 -259
- package/lib/mjs/interfaces.js +37 -37
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/jobs/UnbanUser.d.ts +9 -9
- package/lib/mjs/jobs/UnbanUser.js +40 -40
- package/lib/mjs/jobs/UnbanUser.js.map +1 -1
- package/lib/mjs/middleware.d.ts +5 -5
- package/lib/mjs/middleware.js +21 -21
- package/lib/mjs/middleware.js.map +1 -1
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.d.ts +5 -5
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js +53 -53
- package/lib/mjs/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/mjs/models/User.d.ts +96 -94
- package/lib/mjs/models/User.d.ts.map +1 -1
- package/lib/mjs/models/User.js +225 -215
- package/lib/mjs/models/User.js.map +1 -1
- package/lib/mjs/models/UserMetadata.d.ts +9 -9
- package/lib/mjs/models/UserMetadata.js +29 -29
- package/lib/mjs/models/UserMetadata.js.map +1 -1
- package/lib/mjs/models/UserTimeline.d.ts +28 -28
- package/lib/mjs/models/UserTimeline.js +43 -43
- package/lib/mjs/models/UserTimeline.js.map +1 -1
- package/lib/mjs/password.d.ts +25 -25
- package/lib/mjs/password.js +65 -65
- package/lib/mjs/password.js.map +1 -1
- package/lib/mjs/session.d.ts +33 -33
- package/lib/mjs/session.js +94 -94
- 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 +10 -10
package/lib/cjs/cli/FindUser.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CreateUser = void 0;
|
|
13
|
-
const log_1 = require("@spinajs/log");
|
|
14
|
-
const cli_1 = require("@spinajs/cli");
|
|
15
|
-
const User_js_1 = require("../models/User.js");
|
|
16
|
-
let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
17
|
-
async execute(options) {
|
|
18
|
-
let query = null;
|
|
19
|
-
if (options.email) {
|
|
20
|
-
query = User_js_1.User.where('Email', 'like', `%${options.email}`);
|
|
21
|
-
}
|
|
22
|
-
if (options.login) {
|
|
23
|
-
query = User_js_1.User.where('Login', 'like', `%${options.login}`);
|
|
24
|
-
}
|
|
25
|
-
if (options.idOrUuid) {
|
|
26
|
-
query = User_js_1.User.where('Id', options.idOrUuid).orWhere('Uuid', options.idOrUuid);
|
|
27
|
-
}
|
|
28
|
-
const user = await query;
|
|
29
|
-
user.forEach((x) => {
|
|
30
|
-
this.Log.info(`User : ${x.Id}, ${x.Uuid}, email: ${x.Email}, login: ${x.Login}, active: ${x.IsActive}, banned: ${x.IsBanned}, CreatedAt: ${x.CreatedAt.toISO()}`);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
CreateUser
|
|
39
|
-
|
|
40
|
-
(0, cli_1.
|
|
41
|
-
(0, cli_1.Option)('-
|
|
42
|
-
(0, cli_1.Option)('-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreateUser = void 0;
|
|
13
|
+
const log_1 = require("@spinajs/log");
|
|
14
|
+
const cli_1 = require("@spinajs/cli");
|
|
15
|
+
const User_js_1 = require("../models/User.js");
|
|
16
|
+
let CreateUser = class CreateUser extends cli_1.CliCommand {
|
|
17
|
+
async execute(options) {
|
|
18
|
+
let query = null;
|
|
19
|
+
if (options.email) {
|
|
20
|
+
query = User_js_1.User.where('Email', 'like', `%${options.email}`);
|
|
21
|
+
}
|
|
22
|
+
if (options.login) {
|
|
23
|
+
query = User_js_1.User.where('Login', 'like', `%${options.login}`);
|
|
24
|
+
}
|
|
25
|
+
if (options.idOrUuid) {
|
|
26
|
+
query = User_js_1.User.where('Id', options.idOrUuid).orWhere('Uuid', options.idOrUuid);
|
|
27
|
+
}
|
|
28
|
+
const user = await query;
|
|
29
|
+
user.forEach((x) => {
|
|
30
|
+
this.Log.info(`User : ${x.Id}, ${x.Uuid}, email: ${x.Email}, login: ${x.Login}, active: ${x.IsActive}, banned: ${x.IsBanned}, CreatedAt: ${x.CreatedAt.toISO()}`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.CreateUser = CreateUser;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, log_1.Logger)('rbac'),
|
|
37
|
+
__metadata("design:type", log_1.Log)
|
|
38
|
+
], CreateUser.prototype, "Log", void 0);
|
|
39
|
+
exports.CreateUser = CreateUser = __decorate([
|
|
40
|
+
(0, cli_1.Command)('rbac:user-find', 'Sets active or inactive user'),
|
|
41
|
+
(0, cli_1.Option)('-i, --idOrUuid <idOrUuid>', false, 'numeric id or uuid'),
|
|
42
|
+
(0, cli_1.Option)('-l, --login <login>', false, 'login'),
|
|
43
|
+
(0, cli_1.Option)('-e, --email <email>', false, 'email')
|
|
44
|
+
], CreateUser);
|
|
45
45
|
//# sourceMappingURL=FindUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindUser.js","sourceRoot":"","sources":["../../../src/cli/FindUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAA2D;AAC3D,+CAAyC;AAYlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAU;IAIjC,KAAK,CAAC,OAAO,CAAC,OAAmB;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,KAAK,GAAG,cAAI,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;
|
|
1
|
+
{"version":3,"file":"FindUser.js","sourceRoot":"","sources":["../../../src/cli/FindUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAA2D;AAC3D,+CAAyC;AAYlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAU;IAIjC,KAAK,CAAC,OAAO,CAAC,OAAmB;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,KAAK,GAAG,cAAI,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;AAzBY,gCAAU;AAEX;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;uCAAC;qBAFR,UAAU;IAJtB,IAAA,aAAO,EAAC,gBAAgB,EAAE,8BAA8B,CAAC;IACzD,IAAA,YAAM,EAAC,2BAA2B,EAAE,KAAK,EAAE,oBAAoB,CAAC;IAChE,IAAA,YAAM,EAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC;IAC7C,IAAA,YAAM,EAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC;GACjC,UAAU,CAyBtB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { QueueService } from '@spinajs/Queue';
|
|
2
|
-
import { Log } from '@spinajs/log';
|
|
3
|
-
import { CliCommand } from '@spinajs/cli';
|
|
4
|
-
export declare class GrantUserRole extends CliCommand {
|
|
5
|
-
protected Log: Log;
|
|
6
|
-
protected Queue: QueueService;
|
|
7
|
-
execute(idOrUuid: string, role: string): Promise<void>;
|
|
8
|
-
}
|
|
1
|
+
import { QueueService } from '@spinajs/Queue';
|
|
2
|
+
import { Log } from '@spinajs/log';
|
|
3
|
+
import { CliCommand } from '@spinajs/cli';
|
|
4
|
+
export declare class GrantUserRole extends CliCommand {
|
|
5
|
+
protected Log: Log;
|
|
6
|
+
protected Queue: QueueService;
|
|
7
|
+
execute(idOrUuid: string, role: string): Promise<void>;
|
|
8
|
+
}
|
|
9
9
|
//# sourceMappingURL=GrantUserRole.d.ts.map
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.GrantUserRole = void 0;
|
|
16
|
-
const Queue_1 = require("@spinajs/Queue");
|
|
17
|
-
const log_1 = require("@spinajs/log");
|
|
18
|
-
const cli_1 = require("@spinajs/cli");
|
|
19
|
-
const di_1 = require("@spinajs/di");
|
|
20
|
-
const User_js_1 = require("../models/User.js");
|
|
21
|
-
const UserRoleGranted_js_1 = require("../events/UserRoleGranted.js");
|
|
22
|
-
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
-
let GrantUserRole = class GrantUserRole extends cli_1.CliCommand {
|
|
25
|
-
async execute(idOrUuid, role) {
|
|
26
|
-
const result = await User_js_1.User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new exceptions_1.ResourceNotFound('User with given id or uuid not found in db'));
|
|
27
|
-
result.Role.push(role);
|
|
28
|
-
result.Role = lodash_1.default.uniq(result.Role);
|
|
29
|
-
await result.update();
|
|
30
|
-
this.Queue.emit(new UserRoleGranted_js_1.UserRoleGranted(idOrUuid, role));
|
|
31
|
-
this.Log.success(`User role granted !`);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
GrantUserRole
|
|
43
|
-
|
|
44
|
-
(0, cli_1.
|
|
45
|
-
(0, cli_1.Argument)('
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.GrantUserRole = void 0;
|
|
16
|
+
const Queue_1 = require("@spinajs/Queue");
|
|
17
|
+
const log_1 = require("@spinajs/log");
|
|
18
|
+
const cli_1 = require("@spinajs/cli");
|
|
19
|
+
const di_1 = require("@spinajs/di");
|
|
20
|
+
const User_js_1 = require("../models/User.js");
|
|
21
|
+
const UserRoleGranted_js_1 = require("../events/UserRoleGranted.js");
|
|
22
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
+
let GrantUserRole = class GrantUserRole extends cli_1.CliCommand {
|
|
25
|
+
async execute(idOrUuid, role) {
|
|
26
|
+
const result = await User_js_1.User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new exceptions_1.ResourceNotFound('User with given id or uuid not found in db'));
|
|
27
|
+
result.Role.push(role);
|
|
28
|
+
result.Role = lodash_1.default.uniq(result.Role);
|
|
29
|
+
await result.update();
|
|
30
|
+
this.Queue.emit(new UserRoleGranted_js_1.UserRoleGranted(idOrUuid, role));
|
|
31
|
+
this.Log.success(`User role granted !`);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.GrantUserRole = GrantUserRole;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, log_1.Logger)('rbac'),
|
|
37
|
+
__metadata("design:type", log_1.Log)
|
|
38
|
+
], GrantUserRole.prototype, "Log", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, di_1.Autoinject)(Queue_1.QueueService),
|
|
41
|
+
__metadata("design:type", Queue_1.QueueService)
|
|
42
|
+
], GrantUserRole.prototype, "Queue", void 0);
|
|
43
|
+
exports.GrantUserRole = GrantUserRole = __decorate([
|
|
44
|
+
(0, cli_1.Command)('rbac:user-grant', 'Grants role to user'),
|
|
45
|
+
(0, cli_1.Argument)('idOrUuid', 'numeric id or uuid'),
|
|
46
|
+
(0, cli_1.Argument)('role', 'user role')
|
|
47
|
+
], GrantUserRole);
|
|
48
48
|
//# sourceMappingURL=GrantUserRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrantUserRole.js","sourceRoot":"","sources":["../../../src/cli/GrantUserRole.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,+CAAyC;AACzC,qEAA+D;AAC/D,oDAAuD;AACvD,oDAAuB;AAKhB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAU;IAOpC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,cAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,6BAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"GrantUserRole.js","sourceRoot":"","sources":["../../../src/cli/GrantUserRole.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,+CAAyC;AACzC,qEAA+D;AAC/D,oDAAuD;AACvD,oDAAuB;AAKhB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAU;IAOpC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,cAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,6BAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAnBY,sCAAa;AAEd;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;0CAAC;AAGT;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;4CAAC;wBALnB,aAAa;IAHzB,IAAA,aAAO,EAAC,iBAAiB,EAAE,qBAAqB,CAAC;IACjD,IAAA,cAAQ,EAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,IAAA,cAAQ,EAAC,MAAM,EAAE,WAAW,CAAC;GACjB,aAAa,CAmBzB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Log } from '@spinajs/log';
|
|
2
|
-
import { CliCommand } from '@spinajs/cli';
|
|
3
|
-
export declare class LatestUserEvents extends CliCommand {
|
|
4
|
-
protected Log: Log;
|
|
5
|
-
execute(idOrUuid: string, count: number): Promise<void>;
|
|
6
|
-
}
|
|
1
|
+
import { Log } from '@spinajs/log';
|
|
2
|
+
import { CliCommand } from '@spinajs/cli';
|
|
3
|
+
export declare class LatestUserEvents extends CliCommand {
|
|
4
|
+
protected Log: Log;
|
|
5
|
+
execute(idOrUuid: string, count: number): Promise<void>;
|
|
6
|
+
}
|
|
7
7
|
//# sourceMappingURL=LatestUserEvents.d.ts.map
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LatestUserEvents = void 0;
|
|
13
|
-
const log_1 = require("@spinajs/log");
|
|
14
|
-
const cli_1 = require("@spinajs/cli");
|
|
15
|
-
const UserTimeline_js_1 = require("../models/UserTimeline.js");
|
|
16
|
-
const User_js_1 = require("../models/User.js");
|
|
17
|
-
let LatestUserEvents = class LatestUserEvents extends cli_1.CliCommand {
|
|
18
|
-
async execute(idOrUuid, count) {
|
|
19
|
-
const user = await User_js_1.User.where('Id', idOrUuid)
|
|
20
|
-
.orWhere('Uuid', idOrUuid)
|
|
21
|
-
.firstOrThrow(new Error(`No user with id ${idOrUuid}`));
|
|
22
|
-
const timeline = await UserTimeline_js_1.UserAction.where({ User: user }).take(count).orderByDescending('CreatedAt');
|
|
23
|
-
timeline.forEach((x) => {
|
|
24
|
-
this.Log.info(`Event ${x.Action}, date: ${x.CreatedAt.toISO()}, persistent: ${x.Persistent}, data: ${x.Data}`);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
LatestUserEvents
|
|
33
|
-
|
|
34
|
-
(0, cli_1.
|
|
35
|
-
(0, cli_1.Argument)('
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LatestUserEvents = void 0;
|
|
13
|
+
const log_1 = require("@spinajs/log");
|
|
14
|
+
const cli_1 = require("@spinajs/cli");
|
|
15
|
+
const UserTimeline_js_1 = require("../models/UserTimeline.js");
|
|
16
|
+
const User_js_1 = require("../models/User.js");
|
|
17
|
+
let LatestUserEvents = class LatestUserEvents extends cli_1.CliCommand {
|
|
18
|
+
async execute(idOrUuid, count) {
|
|
19
|
+
const user = await User_js_1.User.where('Id', idOrUuid)
|
|
20
|
+
.orWhere('Uuid', idOrUuid)
|
|
21
|
+
.firstOrThrow(new Error(`No user with id ${idOrUuid}`));
|
|
22
|
+
const timeline = await UserTimeline_js_1.UserAction.where({ User: user }).take(count).orderByDescending('CreatedAt');
|
|
23
|
+
timeline.forEach((x) => {
|
|
24
|
+
this.Log.info(`Event ${x.Action}, date: ${x.CreatedAt.toISO()}, persistent: ${x.Persistent}, data: ${x.Data}`);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.LatestUserEvents = LatestUserEvents;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, log_1.Logger)('console'),
|
|
31
|
+
__metadata("design:type", log_1.Log)
|
|
32
|
+
], LatestUserEvents.prototype, "Log", void 0);
|
|
33
|
+
exports.LatestUserEvents = LatestUserEvents = __decorate([
|
|
34
|
+
(0, cli_1.Command)('rbac:user-events', 'Shows latest user timelinet events'),
|
|
35
|
+
(0, cli_1.Argument)('idOrUuid', 'numeric id or uuid'),
|
|
36
|
+
(0, cli_1.Argument)('count', 'how many entries should we get', 10, (opt) => parseInt(opt))
|
|
37
|
+
], LatestUserEvents);
|
|
38
38
|
//# sourceMappingURL=LatestUserEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LatestUserEvents.js","sourceRoot":"","sources":["../../../src/cli/LatestUserEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAA6D;AAC7D,+DAAuD;AACvD,+CAAyC;AAKlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,gBAAU;IAIvC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,KAAa;QAClD,MAAM,IAAI,GAAG,MAAM,cAAI,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,4BAAU,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;
|
|
1
|
+
{"version":3,"file":"LatestUserEvents.js","sourceRoot":"","sources":["../../../src/cli/LatestUserEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAA6D;AAC7D,+DAAuD;AACvD,+CAAyC;AAKlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,gBAAU;IAIvC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,KAAa;QAClD,MAAM,IAAI,GAAG,MAAM,cAAI,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,4BAAU,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;AAfY,4CAAgB;AAEjB;IADT,IAAA,YAAM,EAAC,SAAS,CAAC;8BACH,SAAG;6CAAC;2BAFR,gBAAgB;IAH5B,IAAA,aAAO,EAAC,kBAAkB,EAAE,oCAAoC,CAAC;IACjE,IAAA,cAAQ,EAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,IAAA,cAAQ,EAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;GACnE,gBAAgB,CAe5B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { QueueService } from '@spinajs/Queue';
|
|
2
|
-
import { Log } from '@spinajs/log';
|
|
3
|
-
import { CliCommand } from '@spinajs/cli';
|
|
4
|
-
export declare class RevokeUserRole extends CliCommand {
|
|
5
|
-
protected Log: Log;
|
|
6
|
-
protected Queue: QueueService;
|
|
7
|
-
execute(idOrUuid: string, role: string): Promise<void>;
|
|
8
|
-
}
|
|
1
|
+
import { QueueService } from '@spinajs/Queue';
|
|
2
|
+
import { Log } from '@spinajs/log';
|
|
3
|
+
import { CliCommand } from '@spinajs/cli';
|
|
4
|
+
export declare class RevokeUserRole extends CliCommand {
|
|
5
|
+
protected Log: Log;
|
|
6
|
+
protected Queue: QueueService;
|
|
7
|
+
execute(idOrUuid: string, role: string): Promise<void>;
|
|
8
|
+
}
|
|
9
9
|
//# sourceMappingURL=RevokeUserRole.d.ts.map
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.RevokeUserRole = void 0;
|
|
16
|
-
const Queue_1 = require("@spinajs/Queue");
|
|
17
|
-
const log_1 = require("@spinajs/log");
|
|
18
|
-
const cli_1 = require("@spinajs/cli");
|
|
19
|
-
const di_1 = require("@spinajs/di");
|
|
20
|
-
const User_js_1 = require("../models/User.js");
|
|
21
|
-
const UserRoleRevoked_js_1 = require("../events/UserRoleRevoked.js");
|
|
22
|
-
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
-
let RevokeUserRole = class RevokeUserRole extends cli_1.CliCommand {
|
|
25
|
-
async execute(idOrUuid, role) {
|
|
26
|
-
const result = await User_js_1.User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new exceptions_1.ResourceNotFound('User with given id or uuid not found in db'));
|
|
27
|
-
result.Role = lodash_1.default.remove(result.Role, role);
|
|
28
|
-
await result.update();
|
|
29
|
-
this.Queue.emit(new UserRoleRevoked_js_1.UserRoleRevoked(idOrUuid, role));
|
|
30
|
-
this.Log.success(`User role revoked !`);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
RevokeUserRole
|
|
42
|
-
|
|
43
|
-
(0, cli_1.
|
|
44
|
-
(0, cli_1.Argument)('
|
|
45
|
-
|
|
46
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RevokeUserRole = void 0;
|
|
16
|
+
const Queue_1 = require("@spinajs/Queue");
|
|
17
|
+
const log_1 = require("@spinajs/log");
|
|
18
|
+
const cli_1 = require("@spinajs/cli");
|
|
19
|
+
const di_1 = require("@spinajs/di");
|
|
20
|
+
const User_js_1 = require("../models/User.js");
|
|
21
|
+
const UserRoleRevoked_js_1 = require("../events/UserRoleRevoked.js");
|
|
22
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
23
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
24
|
+
let RevokeUserRole = class RevokeUserRole extends cli_1.CliCommand {
|
|
25
|
+
async execute(idOrUuid, role) {
|
|
26
|
+
const result = await User_js_1.User.where('Id', idOrUuid).orWhere('Uuid', idOrUuid).firstOrThrow(new exceptions_1.ResourceNotFound('User with given id or uuid not found in db'));
|
|
27
|
+
result.Role = lodash_1.default.remove(result.Role, role);
|
|
28
|
+
await result.update();
|
|
29
|
+
this.Queue.emit(new UserRoleRevoked_js_1.UserRoleRevoked(idOrUuid, role));
|
|
30
|
+
this.Log.success(`User role revoked !`);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.RevokeUserRole = RevokeUserRole;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, log_1.Logger)('rbac'),
|
|
36
|
+
__metadata("design:type", log_1.Log)
|
|
37
|
+
], RevokeUserRole.prototype, "Log", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, di_1.Autoinject)(Queue_1.QueueService),
|
|
40
|
+
__metadata("design:type", Queue_1.QueueService)
|
|
41
|
+
], RevokeUserRole.prototype, "Queue", void 0);
|
|
42
|
+
exports.RevokeUserRole = RevokeUserRole = __decorate([
|
|
43
|
+
(0, cli_1.Command)('rbac:user-revoke', 'Sets active or inactive user'),
|
|
44
|
+
(0, cli_1.Argument)('idOrUuid', 'numeric id or uuid'),
|
|
45
|
+
(0, cli_1.Argument)('role', 'user role')
|
|
46
|
+
], RevokeUserRole);
|
|
47
47
|
//# sourceMappingURL=RevokeUserRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RevokeUserRole.js","sourceRoot":"","sources":["../../../src/cli/RevokeUserRole.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,+CAAyC;AACzC,qEAA+D;AAC/D,oDAAuD;AACvD,oDAAuB;AAKhB,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,gBAAU;IAOrC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,cAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,6BAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,GAAG,gBAAC,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,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"RevokeUserRole.js","sourceRoot":"","sources":["../../../src/cli/RevokeUserRole.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0CAA8C;AAC9C,sCAA2C;AAC3C,sCAA6D;AAC7D,oCAAyC;AACzC,+CAAyC;AACzC,qEAA+D;AAC/D,oDAAuD;AACvD,oDAAuB;AAKhB,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,gBAAU;IAOrC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAY;QACjD,MAAM,MAAM,GAAG,MAAM,cAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,6BAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE3J,MAAM,CAAC,IAAI,GAAG,gBAAC,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,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAlBY,wCAAc;AAEf;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;2CAAC;AAGT;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;6CAAC;yBALnB,cAAc;IAH1B,IAAA,aAAO,EAAC,kBAAkB,EAAE,8BAA8B,CAAC;IAC3D,IAAA,cAAQ,EAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,IAAA,cAAQ,EAAC,MAAM,EAAE,WAAW,CAAC;GACjB,cAAc,CAkB1B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Log } from '@spinajs/log';
|
|
2
|
-
import { CliCommand } from '@spinajs/cli';
|
|
3
|
-
export declare class UnbanUserSchedule extends CliCommand {
|
|
4
|
-
protected Log: Log;
|
|
5
|
-
protected CronSchedule: string;
|
|
6
|
-
protected TimelineTTL: number;
|
|
7
|
-
execute(): Promise<void>;
|
|
8
|
-
}
|
|
1
|
+
import { Log } from '@spinajs/log';
|
|
2
|
+
import { CliCommand } from '@spinajs/cli';
|
|
3
|
+
export declare class UnbanUserSchedule extends CliCommand {
|
|
4
|
+
protected Log: Log;
|
|
5
|
+
protected CronSchedule: string;
|
|
6
|
+
protected TimelineTTL: number;
|
|
7
|
+
execute(): Promise<void>;
|
|
8
|
+
}
|
|
9
9
|
//# sourceMappingURL=UnbanUserSchedule.d.ts.map
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UnbanUserSchedule = void 0;
|
|
13
|
-
const log_1 = require("@spinajs/log");
|
|
14
|
-
const cli_1 = require("@spinajs/cli");
|
|
15
|
-
const configuration_1 = require("@spinajs/configuration");
|
|
16
|
-
const cron_1 = require("cron");
|
|
17
|
-
const UserTimeline_js_1 = require("../models/UserTimeline.js");
|
|
18
|
-
const luxon_1 = require("luxon");
|
|
19
|
-
let UnbanUserSchedule = class UnbanUserSchedule extends cli_1.CliCommand {
|
|
20
|
-
async execute() {
|
|
21
|
-
new cron_1.CronJob(this.CronSchedule, async () => {
|
|
22
|
-
const result = await UserTimeline_js_1.UserAction.destroy()
|
|
23
|
-
.where('Persistent', false)
|
|
24
|
-
.andWhere('CreatedAt', '<=', luxon_1.DateTime.now().plus({
|
|
25
|
-
minutes: -this.TimelineTTL,
|
|
26
|
-
}));
|
|
27
|
-
if (result && result.RowsAffected > 0) {
|
|
28
|
-
this.Log.info(`Deleted ${result.RowsAffected} user timeline events`);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.Log.info(`No user timeline events do delete this time`);
|
|
32
|
-
}
|
|
33
|
-
}, () => {
|
|
34
|
-
this.Log.info('rbac:cleanup-schedule stopped');
|
|
35
|
-
}, true);
|
|
36
|
-
this.Log.success(`User password changed !`);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
UnbanUserSchedule
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UnbanUserSchedule = void 0;
|
|
13
|
+
const log_1 = require("@spinajs/log");
|
|
14
|
+
const cli_1 = require("@spinajs/cli");
|
|
15
|
+
const configuration_1 = require("@spinajs/configuration");
|
|
16
|
+
const cron_1 = require("cron");
|
|
17
|
+
const UserTimeline_js_1 = require("../models/UserTimeline.js");
|
|
18
|
+
const luxon_1 = require("luxon");
|
|
19
|
+
let UnbanUserSchedule = class UnbanUserSchedule extends cli_1.CliCommand {
|
|
20
|
+
async execute() {
|
|
21
|
+
new cron_1.CronJob(this.CronSchedule, async () => {
|
|
22
|
+
const result = await UserTimeline_js_1.UserAction.destroy()
|
|
23
|
+
.where('Persistent', false)
|
|
24
|
+
.andWhere('CreatedAt', '<=', luxon_1.DateTime.now().plus({
|
|
25
|
+
minutes: -this.TimelineTTL,
|
|
26
|
+
}));
|
|
27
|
+
if (result && result.RowsAffected > 0) {
|
|
28
|
+
this.Log.info(`Deleted ${result.RowsAffected} user timeline events`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.Log.info(`No user timeline events do delete this time`);
|
|
32
|
+
}
|
|
33
|
+
}, () => {
|
|
34
|
+
this.Log.info('rbac:cleanup-schedule stopped');
|
|
35
|
+
}, true);
|
|
36
|
+
this.Log.success(`User password changed !`);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.UnbanUserSchedule = UnbanUserSchedule;
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, log_1.Logger)('rbac'),
|
|
42
|
+
__metadata("design:type", log_1.Log)
|
|
43
|
+
], UnbanUserSchedule.prototype, "Log", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, configuration_1.Config)('rbac.timeline.schedule'),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], UnbanUserSchedule.prototype, "CronSchedule", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, configuration_1.Config)('rbac.timeline.ttl'),
|
|
50
|
+
__metadata("design:type", Number)
|
|
51
|
+
], UnbanUserSchedule.prototype, "TimelineTTL", void 0);
|
|
52
|
+
exports.UnbanUserSchedule = UnbanUserSchedule = __decorate([
|
|
53
|
+
(0, cli_1.Command)('rbac:unban-schedule', 'Starts a schedule that automatically unbabns users')
|
|
54
|
+
], UnbanUserSchedule);
|
|
55
55
|
//# sourceMappingURL=UnbanUserSchedule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnbanUserSchedule.js","sourceRoot":"","sources":["../../../src/cli/UnbanUserSchedule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAAmD;AACnD,0DAAgD;AAChD,+BAA+B;AAC/B,+DAAuD;AACvD,iCAAiC;AAG1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAAU;IAUxC,KAAK,CAAC,OAAO;QAClB,IAAI,cAAO,CACT,IAAI,CAAC,YAAY,EACjB,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,4BAAU,CAAC,OAAO,EAAE;iBACtC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CACP,WAAW,EACX,IAAI,EACJ,gBAAQ,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;
|
|
1
|
+
{"version":3,"file":"UnbanUserSchedule.js","sourceRoot":"","sources":["../../../src/cli/UnbanUserSchedule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,sCAAmD;AACnD,0DAAgD;AAChD,+BAA+B;AAC/B,+DAAuD;AACvD,iCAAiC;AAG1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAAU;IAUxC,KAAK,CAAC,OAAO;QAClB,IAAI,cAAO,CACT,IAAI,CAAC,YAAY,EACjB,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,4BAAU,CAAC,OAAO,EAAE;iBACtC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CACP,WAAW,EACX,IAAI,EACJ,gBAAQ,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;AAtCY,8CAAiB;AAElB;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;8CAAC;AAGT;IADT,IAAA,sBAAM,EAAC,wBAAwB,CAAC;;uDACF;AAGrB;IADT,IAAA,sBAAM,EAAC,mBAAmB,CAAC;;sDACE;4BARnB,iBAAiB;IAD7B,IAAA,aAAO,EAAC,qBAAqB,EAAE,oDAAoD,CAAC;GACxE,iBAAiB,CAsC7B"}
|