@spinajs/rbac-http-user 2.0.350 → 2.0.351
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
|
@@ -11,13 +11,13 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { PasswordDto } from '../dto/password-dto.js';
|
|
14
|
-
import { User as UserModel, PasswordProvider, SessionProvider, passwordMatch, changePassword } from '@spinajs/rbac';
|
|
15
|
-
import { BaseController, BasePath, Get, Ok, Body, Patch, Cookie } from '@spinajs/http';
|
|
14
|
+
import { User as UserModel, PasswordProvider, SessionProvider, passwordMatch, changePassword, _unwindGrants, AccessControl } from '@spinajs/rbac';
|
|
15
|
+
import { BaseController, BasePath, Get, Ok, Body, Patch, Cookie, Policy } from '@spinajs/http';
|
|
16
16
|
import { InvalidArgument } from '@spinajs/exceptions';
|
|
17
17
|
import { Autoinject } from '@spinajs/di';
|
|
18
18
|
import { Config } from '@spinajs/configuration';
|
|
19
19
|
import * as cs from 'cookie-signature';
|
|
20
|
-
import { Permission, Resource, User } from '@spinajs/rbac-http';
|
|
20
|
+
import { LoggedPolicy, Permission, Resource, User } from '@spinajs/rbac-http';
|
|
21
21
|
import { _chain, _either } from '@spinajs/util';
|
|
22
22
|
let UserController = class UserController extends BaseController {
|
|
23
23
|
async refresh(user, ssid) {
|
|
@@ -34,6 +34,12 @@ let UserController = class UserController extends BaseController {
|
|
|
34
34
|
}
|
|
35
35
|
return new Ok(user.dehydrate());
|
|
36
36
|
}
|
|
37
|
+
async getGrants(user) {
|
|
38
|
+
const grants = this.AC.getGrants();
|
|
39
|
+
const userGrants = user.Role.map(r => _unwindGrants(r, grants));
|
|
40
|
+
const combinedGrants = Object.assign({}, ...userGrants);
|
|
41
|
+
return new Ok(combinedGrants);
|
|
42
|
+
}
|
|
37
43
|
async newPassword(user, pwd) {
|
|
38
44
|
if (pwd.Password !== pwd.ConfirmPassword) {
|
|
39
45
|
throw new InvalidArgument('password does not match');
|
|
@@ -55,9 +61,13 @@ __decorate([
|
|
|
55
61
|
Autoinject(),
|
|
56
62
|
__metadata("design:type", SessionProvider)
|
|
57
63
|
], UserController.prototype, "SessionProvider", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
Autoinject(AccessControl),
|
|
66
|
+
__metadata("design:type", AccessControl)
|
|
67
|
+
], UserController.prototype, "AC", void 0);
|
|
58
68
|
__decorate([
|
|
59
69
|
Get(),
|
|
60
|
-
Permission('readOwn'),
|
|
70
|
+
Permission(['readOwn']),
|
|
61
71
|
__param(0, User()),
|
|
62
72
|
__param(1, Cookie()),
|
|
63
73
|
__metadata("design:type", Function),
|
|
@@ -65,7 +75,16 @@ __decorate([
|
|
|
65
75
|
__metadata("design:returntype", Promise)
|
|
66
76
|
], UserController.prototype, "refresh", null);
|
|
67
77
|
__decorate([
|
|
68
|
-
|
|
78
|
+
Get("grants"),
|
|
79
|
+
Permission(['readOwn']),
|
|
80
|
+
__param(0, User()),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [UserModel]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], UserController.prototype, "getGrants", null);
|
|
85
|
+
__decorate([
|
|
86
|
+
Patch('password'),
|
|
87
|
+
Permission(["updateOwn"]),
|
|
69
88
|
__param(0, User()),
|
|
70
89
|
__param(1, Body()),
|
|
71
90
|
__metadata("design:type", Function),
|
|
@@ -74,7 +93,8 @@ __decorate([
|
|
|
74
93
|
], UserController.prototype, "newPassword", null);
|
|
75
94
|
UserController = __decorate([
|
|
76
95
|
BasePath('user'),
|
|
77
|
-
Resource('user')
|
|
96
|
+
Resource('user'),
|
|
97
|
+
Policy(LoggedPolicy)
|
|
78
98
|
], UserController);
|
|
79
99
|
export { UserController };
|
|
80
100
|
//# sourceMappingURL=UserController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.js","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,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
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,115 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Post, BasePath, Ok, Del, Body, Get, Query, Param, Policy, BaseController, Patch } from '@spinajs/http';
|
|
14
|
+
import { User as UserModel, UserMetadata } from '@spinajs/rbac';
|
|
15
|
+
import { LoggedPolicy, Permission, Resource, User } from '@spinajs/rbac-http';
|
|
16
|
+
import { FromModel, AsModel, PaginationDTO, OrderDTO, Filter } from '@spinajs/orm-http';
|
|
17
|
+
import { Forbidden } from '@spinajs/exceptions';
|
|
18
|
+
import { UserMetadataDto } from '../dto/metadata-dto.js';
|
|
19
|
+
import { SortOrder } from '@spinajs/orm';
|
|
20
|
+
import { FilterableUserMetadata } from '../models/FilterableUserMetadata.js';
|
|
21
|
+
let UserMetadataController = class UserMetadataController extends BaseController {
|
|
22
|
+
async readMeta(user, pagination, order, filter) {
|
|
23
|
+
return new Ok(FilterableUserMetadata.select().where({
|
|
24
|
+
user_id: user.Id
|
|
25
|
+
}).filter(filter)
|
|
26
|
+
.take(pagination?.limit ?? undefined)
|
|
27
|
+
.skip(pagination?.limit * pagination?.page || 0)
|
|
28
|
+
.order(order?.column ?? 'Id', order?.order ?? SortOrder.DESC));
|
|
29
|
+
}
|
|
30
|
+
async getMeta(user, key) {
|
|
31
|
+
return new Ok(UserMetadata.where({
|
|
32
|
+
Key: key,
|
|
33
|
+
user_id: user.Id
|
|
34
|
+
}).firstOrFail());
|
|
35
|
+
}
|
|
36
|
+
async addMetadata(user, metadata) {
|
|
37
|
+
metadata.User.attach(user);
|
|
38
|
+
await metadata.insert();
|
|
39
|
+
return new Ok(metadata);
|
|
40
|
+
}
|
|
41
|
+
async updateMetadata(user, metadata, data) {
|
|
42
|
+
if (metadata.user_id !== user.Id) {
|
|
43
|
+
throw new Forbidden(`cannot update metadata for given user`);
|
|
44
|
+
}
|
|
45
|
+
metadata.Key = data.Key;
|
|
46
|
+
metadata.Value = data.Value;
|
|
47
|
+
metadata.Type = data.Type;
|
|
48
|
+
await metadata.update();
|
|
49
|
+
return new Ok();
|
|
50
|
+
}
|
|
51
|
+
async deleteMetadata(user, meta) {
|
|
52
|
+
const m = await UserMetadata.where({
|
|
53
|
+
Id: meta,
|
|
54
|
+
user_id: user.Id
|
|
55
|
+
}).firstOrFail();
|
|
56
|
+
await m.destroy();
|
|
57
|
+
return new Ok();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
__decorate([
|
|
61
|
+
Get("/"),
|
|
62
|
+
Permission(['readOwn', 'readAny']),
|
|
63
|
+
__param(0, User()),
|
|
64
|
+
__param(1, Query()),
|
|
65
|
+
__param(2, Query()),
|
|
66
|
+
__param(3, Filter(FilterableUserMetadata)),
|
|
67
|
+
__metadata("design:type", Function),
|
|
68
|
+
__metadata("design:paramtypes", [UserModel,
|
|
69
|
+
PaginationDTO,
|
|
70
|
+
OrderDTO, Array]),
|
|
71
|
+
__metadata("design:returntype", Promise)
|
|
72
|
+
], UserMetadataController.prototype, "readMeta", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
Get(":key"),
|
|
75
|
+
__param(0, User()),
|
|
76
|
+
__param(1, Param()),
|
|
77
|
+
__metadata("design:type", Function),
|
|
78
|
+
__metadata("design:paramtypes", [UserModel, String]),
|
|
79
|
+
__metadata("design:returntype", Promise)
|
|
80
|
+
], UserMetadataController.prototype, "getMeta", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
Post("/"),
|
|
83
|
+
Permission(['updateOwn', 'updateAny']),
|
|
84
|
+
__param(0, User()),
|
|
85
|
+
__param(1, AsModel()),
|
|
86
|
+
__metadata("design:type", Function),
|
|
87
|
+
__metadata("design:paramtypes", [UserModel, UserMetadata]),
|
|
88
|
+
__metadata("design:returntype", Promise)
|
|
89
|
+
], UserMetadataController.prototype, "addMetadata", null);
|
|
90
|
+
__decorate([
|
|
91
|
+
Patch(':metadata'),
|
|
92
|
+
Permission(['updateOwn', 'updateAny']),
|
|
93
|
+
__param(0, User()),
|
|
94
|
+
__param(1, FromModel()),
|
|
95
|
+
__param(2, Body()),
|
|
96
|
+
__metadata("design:type", Function),
|
|
97
|
+
__metadata("design:paramtypes", [UserModel, UserMetadata, UserMetadataDto]),
|
|
98
|
+
__metadata("design:returntype", Promise)
|
|
99
|
+
], UserMetadataController.prototype, "updateMetadata", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
Del(':meta'),
|
|
102
|
+
Permission(['deleteOwn', 'deleteAny']),
|
|
103
|
+
__param(0, User()),
|
|
104
|
+
__param(1, Param()),
|
|
105
|
+
__metadata("design:type", Function),
|
|
106
|
+
__metadata("design:paramtypes", [UserModel, Number]),
|
|
107
|
+
__metadata("design:returntype", Promise)
|
|
108
|
+
], UserMetadataController.prototype, "deleteMetadata", null);
|
|
109
|
+
UserMetadataController = __decorate([
|
|
110
|
+
BasePath('user/metadata'),
|
|
111
|
+
Resource('user.metadata'),
|
|
112
|
+
Policy(LoggedPolicy)
|
|
113
|
+
], UserMetadataController);
|
|
114
|
+
export { UserMetadataController };
|
|
115
|
+
//# 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,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Schema } from '@spinajs/validation';
|
|
11
|
+
export const MetadataDtoSchema = {
|
|
12
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
13
|
+
title: 'User metadata DTO',
|
|
14
|
+
type: 'object',
|
|
15
|
+
properties: {
|
|
16
|
+
Key: { type: 'string', maxLength: 255, minLength: 6 },
|
|
17
|
+
Value: { type: 'string' },
|
|
18
|
+
Type: { type: "string", enum: ['number', 'float', 'string', 'json', 'boolean', 'datetime'] }
|
|
19
|
+
},
|
|
20
|
+
required: ['Key', 'Type'],
|
|
21
|
+
};
|
|
22
|
+
let UserMetadataDto = class UserMetadataDto {
|
|
23
|
+
constructor(data) {
|
|
24
|
+
Object.assign(this, data);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
UserMetadataDto = __decorate([
|
|
28
|
+
Schema(MetadataDtoSchema),
|
|
29
|
+
__metadata("design:paramtypes", [Object])
|
|
30
|
+
], UserMetadataDto);
|
|
31
|
+
export { UserMetadataDto };
|
|
32
|
+
//# 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,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,CAAC,MAAM,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,eAAe;IAD3B,MAAM,CAAC,iBAAiB,CAAC;;GACb,eAAe,CAO3B"}
|
package/lib/mjs/index.d.ts
CHANGED
package/lib/mjs/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/mjs/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './controllers/LoginController.js';
|
|
2
|
-
|
|
2
|
+
export * from './controllers/UserController.js';
|
|
3
|
+
export * from './controllers/UserMetadataController.js';
|
|
3
4
|
// export * from './2fa/SpeakEasy2FaToken.js';
|
|
4
5
|
// export * from "./fingerprint/FingerprintJs.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;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,29 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Connection, Model } from '@spinajs/orm';
|
|
11
|
+
import { OrmResource, UserMetadata } from '@spinajs/rbac';
|
|
12
|
+
import { Filterable } from '@spinajs/orm-http';
|
|
13
|
+
let FilterableUserMetadata = class FilterableUserMetadata extends UserMetadata {
|
|
14
|
+
};
|
|
15
|
+
__decorate([
|
|
16
|
+
Filterable(['eq', 'like', 'b-like', 'e-like']),
|
|
17
|
+
__metadata("design:type", String)
|
|
18
|
+
], FilterableUserMetadata.prototype, "Key", void 0);
|
|
19
|
+
__decorate([
|
|
20
|
+
Filterable(['eq']),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], FilterableUserMetadata.prototype, "Type", void 0);
|
|
23
|
+
FilterableUserMetadata = __decorate([
|
|
24
|
+
Connection('default'),
|
|
25
|
+
Model('users_metadata'),
|
|
26
|
+
OrmResource('user.metadata')
|
|
27
|
+
], FilterableUserMetadata);
|
|
28
|
+
export { FilterableUserMetadata };
|
|
29
|
+
//# sourceMappingURL=FilterableUserMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterableUserMetadata.js","sourceRoot":"","sources":["../../../src/models/FilterableUserMetadata.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKxC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,YAAY;CAQvD,CAAA;AALU;IADN,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,QAAQ,CAAC,CAAC;;mDAC3B;AAGZ;IADN,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;;oDAC0D;AANpE,sBAAsB;IAHlC,UAAU,CAAC,SAAS,CAAC;IACrB,KAAK,CAAC,gBAAgB,CAAC;IACvB,WAAW,CAAC,eAAe,CAAC;GAChB,sBAAsB,CAQlC"}
|