@spinajs/rbac-http-user 2.0.350 → 2.0.352
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/controllers/LoginController.d.ts +2 -1
- package/lib/cjs/controllers/LoginController.d.ts.map +1 -1
- package/lib/cjs/controllers/LoginController.js +11 -1
- package/lib/cjs/controllers/LoginController.js.map +1 -1
- package/lib/cjs/controllers/UserController.d.ts +3 -1
- package/lib/cjs/controllers/UserController.d.ts.map +1 -1
- package/lib/cjs/controllers/UserController.js +23 -3
- package/lib/cjs/controllers/UserController.js.map +1 -1
- package/lib/cjs/controllers/UserMetadataController.d.ts +12 -0
- package/lib/cjs/controllers/UserMetadataController.d.ts.map +1 -0
- package/lib/cjs/controllers/UserMetadataController.js +118 -0
- package/lib/cjs/controllers/UserMetadataController.js.map +1 -0
- package/lib/cjs/dto/metadata-dto.d.ts +27 -0
- package/lib/cjs/dto/metadata-dto.d.ts.map +1 -0
- package/lib/cjs/dto/metadata-dto.js +35 -0
- package/lib/cjs/dto/metadata-dto.js.map +1 -0
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +2 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/models/FilterableUserMetadata.d.ts +6 -0
- package/lib/cjs/models/FilterableUserMetadata.d.ts.map +1 -0
- package/lib/cjs/models/FilterableUserMetadata.js +32 -0
- package/lib/cjs/models/FilterableUserMetadata.js.map +1 -0
- package/lib/mjs/controllers/LoginController.d.ts +2 -1
- package/lib/mjs/controllers/LoginController.d.ts.map +1 -1
- package/lib/mjs/controllers/LoginController.js +12 -2
- package/lib/mjs/controllers/LoginController.js.map +1 -1
- package/lib/mjs/controllers/UserController.d.ts +3 -1
- package/lib/mjs/controllers/UserController.d.ts.map +1 -1
- package/lib/mjs/controllers/UserController.js +26 -6
- package/lib/mjs/controllers/UserController.js.map +1 -1
- package/lib/mjs/controllers/UserMetadataController.d.ts +12 -0
- package/lib/mjs/controllers/UserMetadataController.d.ts.map +1 -0
- package/lib/mjs/controllers/UserMetadataController.js +115 -0
- package/lib/mjs/controllers/UserMetadataController.js.map +1 -0
- package/lib/mjs/dto/metadata-dto.d.ts +27 -0
- package/lib/mjs/dto/metadata-dto.d.ts.map +1 -0
- package/lib/mjs/dto/metadata-dto.js +32 -0
- package/lib/mjs/dto/metadata-dto.js.map +1 -0
- package/lib/mjs/index.d.ts +2 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +2 -1
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/models/FilterableUserMetadata.d.ts +6 -0
- package/lib/mjs/models/FilterableUserMetadata.d.ts.map +1 -0
- package/lib/mjs/models/FilterableUserMetadata.js +29 -0
- package/lib/mjs/models/FilterableUserMetadata.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/lib/cjs/controllers/UserMetadata.d.ts +0 -1
- package/lib/cjs/controllers/UserMetadata.d.ts.map +0 -1
- package/lib/cjs/controllers/UserMetadata.js +0 -35
- package/lib/cjs/controllers/UserMetadata.js.map +0 -1
- package/lib/mjs/controllers/UserMetadata.d.ts +0 -2
- package/lib/mjs/controllers/UserMetadata.d.ts.map +0 -1
- package/lib/mjs/controllers/UserMetadata.js +0 -36
- package/lib/mjs/controllers/UserMetadata.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UserLoginDto } from '../dto/userLogin-dto.js';
|
|
2
2
|
import { BaseController, Ok, Unauthorized } from '@spinajs/http';
|
|
3
|
-
import { AuthProvider, SessionProvider } from '@spinajs/rbac';
|
|
3
|
+
import { AuthProvider, SessionProvider, AccessControl } from '@spinajs/rbac';
|
|
4
4
|
import { Configuration } from '@spinajs/configuration';
|
|
5
5
|
import { User } from '@spinajs/rbac';
|
|
6
6
|
export declare class LoginController extends BaseController {
|
|
@@ -9,6 +9,7 @@ export declare class LoginController extends BaseController {
|
|
|
9
9
|
protected SessionProvider: SessionProvider;
|
|
10
10
|
protected SessionExpirationTime: number;
|
|
11
11
|
protected SessionCookieConfig: any;
|
|
12
|
+
protected AC: AccessControl;
|
|
12
13
|
login(credentials: UserLoginDto): Promise<Ok | Unauthorized>;
|
|
13
14
|
logout(ssid: string): Promise<Ok>;
|
|
14
15
|
whoami(User: User): Promise<Ok>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,aAAa,EAAiB,MAAM,eAAe,CAAC;AAE/G,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,qBACa,eAAgB,SAAQ,cAAc;IAEjD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAK3C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAGxC,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAGnC,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;IAIf,KAAK,CAAS,WAAW,EAAE,YAAY;IAmKvC,MAAM,CAAW,IAAI,EAAE,MAAM;IA4B7B,MAAM,CAAiB,IAAI,EAAE,IAAI;CA0F/C"}
|
|
@@ -34,7 +34,13 @@ let LoginController = class LoginController extends http_1.BaseController {
|
|
|
34
34
|
this._log.trace('User logged in', {
|
|
35
35
|
Uuid: user.Uuid
|
|
36
36
|
});
|
|
37
|
-
|
|
37
|
+
const grants = this.AC.getGrants();
|
|
38
|
+
const userGrants = user.Role.map(r => (0, rbac_1._unwindGrants)(r, grants));
|
|
39
|
+
const combinedGrants = Object.assign({}, ...userGrants);
|
|
40
|
+
return new http_1.Ok({
|
|
41
|
+
...user.dehydrate(),
|
|
42
|
+
Grants: combinedGrants
|
|
43
|
+
}, {
|
|
38
44
|
Coockies: [
|
|
39
45
|
{
|
|
40
46
|
Name: 'ssid',
|
|
@@ -200,6 +206,10 @@ __decorate([
|
|
|
200
206
|
(0, configuration_1.Config)('rbac.session.cookie', {}),
|
|
201
207
|
__metadata("design:type", Object)
|
|
202
208
|
], LoginController.prototype, "SessionCookieConfig", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
(0, di_1.Autoinject)(rbac_1.AccessControl),
|
|
211
|
+
__metadata("design:type", rbac_1.AccessControl)
|
|
212
|
+
], LoginController.prototype, "AC", void 0);
|
|
203
213
|
__decorate([
|
|
204
214
|
(0, http_1.Post)(),
|
|
205
215
|
(0, http_1.Policy)(rbac_http_1.NotLoggedPolicy),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAuD;AACvD,wCAA4G;AAC5G,
|
|
1
|
+
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { PasswordDto } from '../dto/password-dto.js';
|
|
2
|
-
import { User as UserModel, PasswordProvider, SessionProvider } from '@spinajs/rbac';
|
|
2
|
+
import { User as UserModel, PasswordProvider, SessionProvider, AccessControl } from '@spinajs/rbac';
|
|
3
3
|
import { BaseController, Ok } from '@spinajs/http';
|
|
4
4
|
export declare class UserController extends BaseController {
|
|
5
5
|
protected PasswordProvider: PasswordProvider;
|
|
6
6
|
protected CoockieSecret: string;
|
|
7
7
|
protected SessionProvider: SessionProvider;
|
|
8
|
+
protected AC: AccessControl;
|
|
8
9
|
refresh(user: UserModel, ssid: string): Promise<Ok>;
|
|
10
|
+
getGrants(user: UserModel): Promise<Ok>;
|
|
9
11
|
newPassword(user: UserModel, pwd: PasswordDto): Promise<Ok>;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=UserController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,gBAAgB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAgD,aAAa,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,cAAc,EAAiB,EAAE,EAA+B,MAAM,eAAe,CAAC;AAS/F,qBAGa,cAAe,SAAQ,cAAc;IAEhD,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAGhC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAG3C,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;IAIf,OAAO,CAAS,IAAI,EAAE,SAAS,EAAY,IAAI,EAAE,MAAM;IAmBvD,SAAS,CAAS,IAAI,EAAE,SAAS;IAWjC,WAAW,CAAS,IAAI,EAAE,SAAS,EAAU,GAAG,EAAE,WAAW;CAkB3E"}
|
|
@@ -60,6 +60,12 @@ let UserController = class UserController extends http_1.BaseController {
|
|
|
60
60
|
}
|
|
61
61
|
return new http_1.Ok(user.dehydrate());
|
|
62
62
|
}
|
|
63
|
+
async getGrants(user) {
|
|
64
|
+
const grants = this.AC.getGrants();
|
|
65
|
+
const userGrants = user.Role.map(r => (0, rbac_1._unwindGrants)(r, grants));
|
|
66
|
+
const combinedGrants = Object.assign({}, ...userGrants);
|
|
67
|
+
return new http_1.Ok(combinedGrants);
|
|
68
|
+
}
|
|
63
69
|
async newPassword(user, pwd) {
|
|
64
70
|
if (pwd.Password !== pwd.ConfirmPassword) {
|
|
65
71
|
throw new exceptions_1.InvalidArgument('password does not match');
|
|
@@ -82,9 +88,13 @@ __decorate([
|
|
|
82
88
|
(0, di_1.Autoinject)(),
|
|
83
89
|
__metadata("design:type", rbac_1.SessionProvider)
|
|
84
90
|
], UserController.prototype, "SessionProvider", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, di_1.Autoinject)(rbac_1.AccessControl),
|
|
93
|
+
__metadata("design:type", rbac_1.AccessControl)
|
|
94
|
+
], UserController.prototype, "AC", void 0);
|
|
85
95
|
__decorate([
|
|
86
96
|
(0, http_1.Get)(),
|
|
87
|
-
(0, rbac_http_1.Permission)('readOwn'),
|
|
97
|
+
(0, rbac_http_1.Permission)(['readOwn']),
|
|
88
98
|
__param(0, (0, rbac_http_1.User)()),
|
|
89
99
|
__param(1, (0, http_1.Cookie)()),
|
|
90
100
|
__metadata("design:type", Function),
|
|
@@ -92,7 +102,16 @@ __decorate([
|
|
|
92
102
|
__metadata("design:returntype", Promise)
|
|
93
103
|
], UserController.prototype, "refresh", null);
|
|
94
104
|
__decorate([
|
|
95
|
-
(0, http_1.
|
|
105
|
+
(0, http_1.Get)("grants"),
|
|
106
|
+
(0, rbac_http_1.Permission)(['readOwn']),
|
|
107
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
108
|
+
__metadata("design:type", Function),
|
|
109
|
+
__metadata("design:paramtypes", [rbac_1.User]),
|
|
110
|
+
__metadata("design:returntype", Promise)
|
|
111
|
+
], UserController.prototype, "getGrants", null);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, http_1.Patch)('password'),
|
|
114
|
+
(0, rbac_http_1.Permission)(["updateOwn"]),
|
|
96
115
|
__param(0, (0, rbac_http_1.User)()),
|
|
97
116
|
__param(1, (0, http_1.Body)()),
|
|
98
117
|
__metadata("design:type", Function),
|
|
@@ -101,6 +120,7 @@ __decorate([
|
|
|
101
120
|
], UserController.prototype, "newPassword", null);
|
|
102
121
|
exports.UserController = UserController = __decorate([
|
|
103
122
|
(0, http_1.BasePath)('user'),
|
|
104
|
-
(0, rbac_http_1.Resource)('user')
|
|
123
|
+
(0, rbac_http_1.Resource)('user'),
|
|
124
|
+
(0, http_1.Policy)(rbac_http_1.LoggedPolicy)
|
|
105
125
|
], UserController);
|
|
106
126
|
//# sourceMappingURL=UserController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Ok, BaseController } from '@spinajs/http';
|
|
2
|
+
import { User as UserModel, UserMetadata } from '@spinajs/rbac';
|
|
3
|
+
import { PaginationDTO, OrderDTO, IFilter } from '@spinajs/orm-http';
|
|
4
|
+
import { UserMetadataDto } from '../dto/metadata-dto.js';
|
|
5
|
+
export declare class UserMetadataController extends BaseController {
|
|
6
|
+
readMeta(user: UserModel, pagination?: PaginationDTO, order?: OrderDTO, filter?: IFilter[]): Promise<Ok>;
|
|
7
|
+
getMeta(user: UserModel, key: string): Promise<Ok>;
|
|
8
|
+
addMetadata(user: UserModel, metadata: UserMetadata): Promise<Ok>;
|
|
9
|
+
updateMetadata(user: UserModel, metadata: UserMetadata, data: UserMetadataDto): Promise<Ok>;
|
|
10
|
+
deleteMetadata(user: UserModel, meta: number): Promise<Ok>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=UserMetadataController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadataController.d.ts","sourceRoot":"","sources":["../../../src/controllers/UserMetadataController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,EAAE,EAAwC,cAAc,EAAS,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAsB,aAAa,EAAE,QAAQ,EAAU,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,qBAGa,sBAAuB,SAAQ,cAAc;IAIzC,QAAQ,CACT,IAAI,EAAE,SAAS,EACd,UAAU,CAAC,EAAE,aAAa,EAC1B,KAAK,CAAC,EAAE,QAAQ,EAEzB,MAAM,CAAC,EAAE,OAAO,EAAE;IAYT,OAAO,CAAS,IAAI,EAAE,SAAS,EAAW,GAAG,EAAE,MAAM;IASrD,WAAW,CAAS,IAAI,EAAE,SAAS,EAAa,QAAQ,EAAE,YAAY;IAUtE,cAAc,CAAS,IAAI,EAAE,SAAS,EAAe,QAAQ,EAAE,YAAY,EAAU,IAAI,EAAE,eAAe;IAgB1G,cAAc,CAAS,IAAI,EAAE,SAAS,EAAW,IAAI,EAAE,MAAM;CAS7E"}
|
|
@@ -0,0 +1,118 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UserMetadataController = void 0;
|
|
16
|
+
const http_1 = require("@spinajs/http");
|
|
17
|
+
const rbac_1 = require("@spinajs/rbac");
|
|
18
|
+
const rbac_http_1 = require("@spinajs/rbac-http");
|
|
19
|
+
const orm_http_1 = require("@spinajs/orm-http");
|
|
20
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
21
|
+
const metadata_dto_js_1 = require("../dto/metadata-dto.js");
|
|
22
|
+
const orm_1 = require("@spinajs/orm");
|
|
23
|
+
const FilterableUserMetadata_js_1 = require("../models/FilterableUserMetadata.js");
|
|
24
|
+
let UserMetadataController = class UserMetadataController extends http_1.BaseController {
|
|
25
|
+
async readMeta(user, pagination, order, filter) {
|
|
26
|
+
return new http_1.Ok(FilterableUserMetadata_js_1.FilterableUserMetadata.select().where({
|
|
27
|
+
user_id: user.Id
|
|
28
|
+
}).filter(filter)
|
|
29
|
+
.take(pagination?.limit ?? undefined)
|
|
30
|
+
.skip(pagination?.limit * pagination?.page || 0)
|
|
31
|
+
.order(order?.column ?? 'Id', order?.order ?? orm_1.SortOrder.DESC));
|
|
32
|
+
}
|
|
33
|
+
async getMeta(user, key) {
|
|
34
|
+
return new http_1.Ok(rbac_1.UserMetadata.where({
|
|
35
|
+
Key: key,
|
|
36
|
+
user_id: user.Id
|
|
37
|
+
}).firstOrFail());
|
|
38
|
+
}
|
|
39
|
+
async addMetadata(user, metadata) {
|
|
40
|
+
metadata.User.attach(user);
|
|
41
|
+
await metadata.insert();
|
|
42
|
+
return new http_1.Ok(metadata);
|
|
43
|
+
}
|
|
44
|
+
async updateMetadata(user, metadata, data) {
|
|
45
|
+
if (metadata.user_id !== user.Id) {
|
|
46
|
+
throw new exceptions_1.Forbidden(`cannot update metadata for given user`);
|
|
47
|
+
}
|
|
48
|
+
metadata.Key = data.Key;
|
|
49
|
+
metadata.Value = data.Value;
|
|
50
|
+
metadata.Type = data.Type;
|
|
51
|
+
await metadata.update();
|
|
52
|
+
return new http_1.Ok();
|
|
53
|
+
}
|
|
54
|
+
async deleteMetadata(user, meta) {
|
|
55
|
+
const m = await rbac_1.UserMetadata.where({
|
|
56
|
+
Id: meta,
|
|
57
|
+
user_id: user.Id
|
|
58
|
+
}).firstOrFail();
|
|
59
|
+
await m.destroy();
|
|
60
|
+
return new http_1.Ok();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.UserMetadataController = UserMetadataController;
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, http_1.Get)("/"),
|
|
66
|
+
(0, rbac_http_1.Permission)(['readOwn', 'readAny']),
|
|
67
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
68
|
+
__param(1, (0, http_1.Query)()),
|
|
69
|
+
__param(2, (0, http_1.Query)()),
|
|
70
|
+
__param(3, (0, orm_http_1.Filter)(FilterableUserMetadata_js_1.FilterableUserMetadata)),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [rbac_1.User,
|
|
73
|
+
orm_http_1.PaginationDTO,
|
|
74
|
+
orm_http_1.OrderDTO, Array]),
|
|
75
|
+
__metadata("design:returntype", Promise)
|
|
76
|
+
], UserMetadataController.prototype, "readMeta", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, http_1.Get)(":key"),
|
|
79
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
80
|
+
__param(1, (0, http_1.Param)()),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [rbac_1.User, String]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], UserMetadataController.prototype, "getMeta", null);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, http_1.Post)("/"),
|
|
87
|
+
(0, rbac_http_1.Permission)(['updateOwn', 'updateAny']),
|
|
88
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
89
|
+
__param(1, (0, orm_http_1.AsModel)()),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", [rbac_1.User, rbac_1.UserMetadata]),
|
|
92
|
+
__metadata("design:returntype", Promise)
|
|
93
|
+
], UserMetadataController.prototype, "addMetadata", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, http_1.Patch)(':metadata'),
|
|
96
|
+
(0, rbac_http_1.Permission)(['updateOwn', 'updateAny']),
|
|
97
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
98
|
+
__param(1, (0, orm_http_1.FromModel)()),
|
|
99
|
+
__param(2, (0, http_1.Body)()),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [rbac_1.User, rbac_1.UserMetadata, metadata_dto_js_1.UserMetadataDto]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], UserMetadataController.prototype, "updateMetadata", null);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, http_1.Del)(':meta'),
|
|
106
|
+
(0, rbac_http_1.Permission)(['deleteOwn', 'deleteAny']),
|
|
107
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
108
|
+
__param(1, (0, http_1.Param)()),
|
|
109
|
+
__metadata("design:type", Function),
|
|
110
|
+
__metadata("design:paramtypes", [rbac_1.User, Number]),
|
|
111
|
+
__metadata("design:returntype", Promise)
|
|
112
|
+
], UserMetadataController.prototype, "deleteMetadata", null);
|
|
113
|
+
exports.UserMetadataController = UserMetadataController = __decorate([
|
|
114
|
+
(0, http_1.BasePath)('user/metadata'),
|
|
115
|
+
(0, rbac_http_1.Resource)('user.metadata'),
|
|
116
|
+
(0, http_1.Policy)(rbac_http_1.LoggedPolicy)
|
|
117
|
+
], UserMetadataController);
|
|
118
|
+
//# sourceMappingURL=UserMetadataController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadataController.js","sourceRoot":"","sources":["../../../src/controllers/UserMetadataController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const MetadataDtoSchema: {
|
|
2
|
+
$schema: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
properties: {
|
|
6
|
+
Key: {
|
|
7
|
+
type: string;
|
|
8
|
+
maxLength: number;
|
|
9
|
+
minLength: number;
|
|
10
|
+
};
|
|
11
|
+
Value: {
|
|
12
|
+
type: string;
|
|
13
|
+
};
|
|
14
|
+
Type: {
|
|
15
|
+
type: string;
|
|
16
|
+
enum: string[];
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
required: string[];
|
|
20
|
+
};
|
|
21
|
+
export declare class UserMetadataDto {
|
|
22
|
+
Key: string;
|
|
23
|
+
Value: string;
|
|
24
|
+
Type: 'number' | 'float' | 'string' | 'json' | 'boolean' | 'datetime';
|
|
25
|
+
constructor(data: any);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=metadata-dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-dto.d.ts","sourceRoot":"","sources":["../../../src/dto/metadata-dto.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAU7B,CAAC;AAEF,qBACa,eAAe;IACjB,GAAG,EAAG,MAAM,CAAC;IACb,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;gBACjE,IAAI,EAAE,GAAG;CAGxB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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.UserMetadataDto = exports.MetadataDtoSchema = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
exports.MetadataDtoSchema = {
|
|
15
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
16
|
+
title: 'User metadata DTO',
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
Key: { type: 'string', maxLength: 255, minLength: 6 },
|
|
20
|
+
Value: { type: 'string' },
|
|
21
|
+
Type: { type: "string", enum: ['number', 'float', 'string', 'json', 'boolean', 'datetime'] }
|
|
22
|
+
},
|
|
23
|
+
required: ['Key', 'Type'],
|
|
24
|
+
};
|
|
25
|
+
let UserMetadataDto = class UserMetadataDto {
|
|
26
|
+
constructor(data) {
|
|
27
|
+
Object.assign(this, data);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.UserMetadataDto = UserMetadataDto;
|
|
31
|
+
exports.UserMetadataDto = UserMetadataDto = __decorate([
|
|
32
|
+
(0, validation_1.Schema)(exports.MetadataDtoSchema),
|
|
33
|
+
__metadata("design:paramtypes", [Object])
|
|
34
|
+
], UserMetadataDto);
|
|
35
|
+
//# sourceMappingURL=metadata-dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-dto.js","sourceRoot":"","sources":["../../../src/dto/metadata-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,iBAAiB,GAAG;IAC7B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;KAC/F;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGK,IAAM,eAAe,GAArB,MAAM,eAAe;IAIxB,YAAY,IAAS;QACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AAPY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAM,EAAC,yBAAiB,CAAC;;GACb,eAAe,CAO3B"}
|
package/lib/cjs/index.d.ts
CHANGED
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -15,7 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./controllers/LoginController.js"), exports);
|
|
18
|
-
|
|
18
|
+
__exportStar(require("./controllers/UserController.js"), exports);
|
|
19
|
+
__exportStar(require("./controllers/UserMetadataController.js"), exports);
|
|
19
20
|
// export * from './2fa/SpeakEasy2FaToken.js';
|
|
20
21
|
// export * from "./fingerprint/FingerprintJs.js";
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,kEAAgD;AAChD,0EAAwD;AACxD,8CAA8C;AAC9C,kDAAkD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterableUserMetadata.d.ts","sourceRoot":"","sources":["../../../src/models/FilterableUserMetadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAG1D,qBAGa,sBAAuB,SAAQ,YAAY;IAG7C,GAAG,EAAE,MAAM,CAAC;IAGZ,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CAEhF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.FilterableUserMetadata = void 0;
|
|
13
|
+
const orm_1 = require("@spinajs/orm");
|
|
14
|
+
const rbac_1 = require("@spinajs/rbac");
|
|
15
|
+
const orm_http_1 = require("@spinajs/orm-http");
|
|
16
|
+
let FilterableUserMetadata = class FilterableUserMetadata extends rbac_1.UserMetadata {
|
|
17
|
+
};
|
|
18
|
+
exports.FilterableUserMetadata = FilterableUserMetadata;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, orm_http_1.Filterable)(['eq', 'like', 'b-like', 'e-like']),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], FilterableUserMetadata.prototype, "Key", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, orm_http_1.Filterable)(['eq']),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], FilterableUserMetadata.prototype, "Type", void 0);
|
|
27
|
+
exports.FilterableUserMetadata = FilterableUserMetadata = __decorate([
|
|
28
|
+
(0, orm_1.Connection)('default'),
|
|
29
|
+
(0, orm_1.Model)('users_metadata'),
|
|
30
|
+
(0, rbac_1.OrmResource)('user.metadata')
|
|
31
|
+
], FilterableUserMetadata);
|
|
32
|
+
//# sourceMappingURL=FilterableUserMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterableUserMetadata.js","sourceRoot":"","sources":["../../../src/models/FilterableUserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAiD;AAGjD,wCAA0D;AAC1D,gDAA+C;AAKxC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,mBAAY;CAQvD,CAAA;AARY,wDAAsB;AAGxB;IADN,IAAA,qBAAU,EAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,QAAQ,CAAC,CAAC;;mDAC3B;AAGZ;IADN,IAAA,qBAAU,EAAC,CAAC,IAAI,CAAC,CAAC;;oDAC0D;iCANpE,sBAAsB;IAHlC,IAAA,gBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,WAAK,EAAC,gBAAgB,CAAC;IACvB,IAAA,kBAAW,EAAC,eAAe,CAAC;GAChB,sBAAsB,CAQlC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UserLoginDto } from '../dto/userLogin-dto.js';
|
|
2
2
|
import { BaseController, Ok, Unauthorized } from '@spinajs/http';
|
|
3
|
-
import { AuthProvider, SessionProvider } from '@spinajs/rbac';
|
|
3
|
+
import { AuthProvider, SessionProvider, AccessControl } from '@spinajs/rbac';
|
|
4
4
|
import { Configuration } from '@spinajs/configuration';
|
|
5
5
|
import { User } from '@spinajs/rbac';
|
|
6
6
|
export declare class LoginController extends BaseController {
|
|
@@ -9,6 +9,7 @@ export declare class LoginController extends BaseController {
|
|
|
9
9
|
protected SessionProvider: SessionProvider;
|
|
10
10
|
protected SessionExpirationTime: number;
|
|
11
11
|
protected SessionCookieConfig: any;
|
|
12
|
+
protected AC: AccessControl;
|
|
12
13
|
login(credentials: UserLoginDto): Promise<Ok | Unauthorized>;
|
|
13
14
|
logout(ssid: string): Promise<Ok>;
|
|
14
15
|
whoami(User: User): Promise<Ok>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,aAAa,EAAiB,MAAM,eAAe,CAAC;AAE/G,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,qBACa,eAAgB,SAAQ,cAAc;IAEjD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAK3C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAGxC,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAGnC,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;IAIf,KAAK,CAAS,WAAW,EAAE,YAAY;IAmKvC,MAAM,CAAW,IAAI,EAAE,MAAM;IA4B7B,MAAM,CAAiB,IAAI,EAAE,IAAI;CA0F/C"}
|
|
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { UserLoginDto } from '../dto/userLogin-dto.js';
|
|
14
14
|
import { BaseController, BasePath, Post, Body, Ok, Get, Cookie, Unauthorized, Policy } from '@spinajs/http';
|
|
15
|
-
import { AuthProvider, SessionProvider, auth, UserSession } from '@spinajs/rbac';
|
|
15
|
+
import { AuthProvider, SessionProvider, auth, UserSession, AccessControl, _unwindGrants } from '@spinajs/rbac';
|
|
16
16
|
import { Autoinject } from '@spinajs/di';
|
|
17
17
|
import { AutoinjectService, Config, Configuration } from '@spinajs/configuration';
|
|
18
18
|
import { LoggedPolicy, NotLoggedPolicy, User as UserRouteArg } from '@spinajs/rbac-http';
|
|
@@ -31,7 +31,13 @@ let LoginController = class LoginController extends BaseController {
|
|
|
31
31
|
this._log.trace('User logged in', {
|
|
32
32
|
Uuid: user.Uuid
|
|
33
33
|
});
|
|
34
|
-
|
|
34
|
+
const grants = this.AC.getGrants();
|
|
35
|
+
const userGrants = user.Role.map(r => _unwindGrants(r, grants));
|
|
36
|
+
const combinedGrants = Object.assign({}, ...userGrants);
|
|
37
|
+
return new Ok({
|
|
38
|
+
...user.dehydrate(),
|
|
39
|
+
Grants: combinedGrants
|
|
40
|
+
}, {
|
|
35
41
|
Coockies: [
|
|
36
42
|
{
|
|
37
43
|
Name: 'ssid',
|
|
@@ -196,6 +202,10 @@ __decorate([
|
|
|
196
202
|
Config('rbac.session.cookie', {}),
|
|
197
203
|
__metadata("design:type", Object)
|
|
198
204
|
], LoginController.prototype, "SessionCookieConfig", void 0);
|
|
205
|
+
__decorate([
|
|
206
|
+
Autoinject(AccessControl),
|
|
207
|
+
__metadata("design:type", AccessControl)
|
|
208
|
+
], LoginController.prototype, "AC", void 0);
|
|
199
209
|
__decorate([
|
|
200
210
|
Post(),
|
|
201
211
|
Policy(NotLoggedPolicy),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { PasswordDto } from '../dto/password-dto.js';
|
|
2
|
-
import { User as UserModel, PasswordProvider, SessionProvider } from '@spinajs/rbac';
|
|
2
|
+
import { User as UserModel, PasswordProvider, SessionProvider, AccessControl } from '@spinajs/rbac';
|
|
3
3
|
import { BaseController, Ok } from '@spinajs/http';
|
|
4
4
|
export declare class UserController extends BaseController {
|
|
5
5
|
protected PasswordProvider: PasswordProvider;
|
|
6
6
|
protected CoockieSecret: string;
|
|
7
7
|
protected SessionProvider: SessionProvider;
|
|
8
|
+
protected AC: AccessControl;
|
|
8
9
|
refresh(user: UserModel, ssid: string): Promise<Ok>;
|
|
10
|
+
getGrants(user: UserModel): Promise<Ok>;
|
|
9
11
|
newPassword(user: UserModel, pwd: PasswordDto): Promise<Ok>;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=UserController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,gBAAgB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/controllers/UserController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAgD,aAAa,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,cAAc,EAAiB,EAAE,EAA+B,MAAM,eAAe,CAAC;AAS/F,qBAGa,cAAe,SAAQ,cAAc;IAEhD,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAGhC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAG3C,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC;IAIf,OAAO,CAAS,IAAI,EAAE,SAAS,EAAY,IAAI,EAAE,MAAM;IAmBvD,SAAS,CAAS,IAAI,EAAE,SAAS;IAWjC,WAAW,CAAS,IAAI,EAAE,SAAS,EAAU,GAAG,EAAE,WAAW;CAkB3E"}
|