@spinajs/rbac-http 2.0.28 → 2.0.44
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/2fa/SpeakEasy2FaToken.d.ts +13 -0
- package/lib/2fa/SpeakEasy2FaToken.js +91 -0
- package/lib/2fa/SpeakEasy2FaToken.js.map +1 -0
- package/lib/config/rbac-http.js +19 -0
- package/lib/config/rbac-http.js.map +1 -1
- package/lib/controllers/LoginController.d.ts +26 -4
- package/lib/controllers/LoginController.js +240 -24
- package/lib/controllers/LoginController.js.map +1 -1
- package/lib/controllers/TwoFactorAuthController.d.ts +11 -0
- package/lib/controllers/TwoFactorAuthController.js +71 -0
- package/lib/controllers/TwoFactorAuthController.js.map +1 -0
- package/lib/controllers/UserController.d.ts +1 -1
- package/lib/controllers/UserController.js +7 -11
- package/lib/controllers/UserController.js.map +1 -1
- package/lib/controllers/UserMetadata.js +4 -0
- package/lib/controllers/UserMetadata.js.map +1 -1
- package/lib/decorators.js +6 -10
- package/lib/decorators.js.map +1 -1
- package/lib/dto/login-dto.d.ts +1 -6
- package/lib/dto/login-dto.js +7 -8
- package/lib/dto/login-dto.js.map +1 -1
- package/lib/dto/restore-password-dto.d.ts +23 -0
- package/lib/dto/restore-password-dto.js +34 -0
- package/lib/dto/restore-password-dto.js.map +1 -0
- package/lib/dto/token-dto.d.ts +15 -0
- package/lib/dto/token-dto.js +32 -0
- package/lib/dto/token-dto.js.map +1 -0
- package/lib/dto/userLogin-dto.d.ts +21 -0
- package/lib/dto/userLogin-dto.js +34 -0
- package/lib/dto/userLogin-dto.js.map +1 -0
- package/lib/events/UserLoginFailed.d.ts +5 -0
- package/lib/events/UserLoginFailed.js +25 -0
- package/lib/events/UserLoginFailed.js.map +1 -0
- package/lib/events/UserLoginSuccess.d.ts +5 -0
- package/lib/events/UserLoginSuccess.js +25 -0
- package/lib/events/UserLoginSuccess.js.map +1 -0
- package/lib/events/UserPassordRestore.d.ts +6 -0
- package/lib/events/UserPassordRestore.js +26 -0
- package/lib/events/UserPassordRestore.js.map +1 -0
- package/lib/fingerprint/FingerprintJs.d.ts +3 -0
- package/lib/fingerprint/FingerprintJs.js +18 -0
- package/lib/fingerprint/FingerprintJs.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +35 -0
- package/lib/interfaces.js +7 -0
- package/lib/interfaces.js.map +1 -1
- package/lib/middlewares/AttributeFilter.d.ts +10 -0
- package/lib/middlewares/AttributeFilter.js +19 -0
- package/lib/middlewares/AttributeFilter.js.map +1 -0
- package/lib/middlewares.d.ts +1 -1
- package/lib/middlewares.js +1 -1
- package/lib/middlewares.js.map +1 -1
- package/lib/policies/2FaPolicy.d.ts +7 -0
- package/lib/policies/2FaPolicy.js +32 -0
- package/lib/policies/2FaPolicy.js.map +1 -0
- package/lib/policies/AuthPolicy.d.ts +9 -0
- package/lib/policies/AuthPolicy.js +23 -0
- package/lib/policies/AuthPolicy.js.map +1 -0
- package/lib/policies/LoggedPolicy.d.ts +9 -0
- package/lib/policies/LoggedPolicy.js +23 -0
- package/lib/policies/LoggedPolicy.js.map +1 -0
- package/lib/policies/NotLoggedPolicy.d.ts +9 -0
- package/lib/policies/NotLoggedPolicy.js +22 -0
- package/lib/policies/NotLoggedPolicy.js.map +1 -0
- package/lib/policies/RbacPolicy.d.ts +15 -0
- package/lib/policies/RbacPolicy.js +60 -0
- package/lib/policies/RbacPolicy.js.map +1 -0
- package/lib/policies/captchaPolicy.d.ts +0 -0
- package/lib/policies/captchaPolicy.js +1 -0
- package/lib/policies/captchaPolicy.js.map +1 -0
- package/package.json +19 -13
|
@@ -34,9 +34,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
34
34
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
35
35
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
36
36
|
};
|
|
37
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
38
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
39
|
-
};
|
|
40
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
38
|
exports.UserController = void 0;
|
|
42
39
|
const password_dto_1 = require("../dto/password-dto");
|
|
@@ -47,11 +44,11 @@ const di_1 = require("@spinajs/di");
|
|
|
47
44
|
const decorators_1 = require("../decorators");
|
|
48
45
|
const configuration_1 = require("@spinajs/configuration");
|
|
49
46
|
const cs = __importStar(require("cookie-signature"));
|
|
50
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
51
47
|
let UserController = class UserController extends http_1.BaseController {
|
|
52
48
|
async refresh(user, ssid) {
|
|
53
49
|
// get user data from db
|
|
54
50
|
await user.refresh();
|
|
51
|
+
await user.Metadata.populate();
|
|
55
52
|
// refresh session data from DB
|
|
56
53
|
const sId = cs.unsign(ssid, this.CoockieSecret);
|
|
57
54
|
if (sId) {
|
|
@@ -60,16 +57,15 @@ let UserController = class UserController extends http_1.BaseController {
|
|
|
60
57
|
session.Data.set('User', user.dehydrate());
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
|
-
return new http_1.Ok(
|
|
60
|
+
return new http_1.Ok(user.dehydrate());
|
|
64
61
|
}
|
|
65
|
-
async newPassword(
|
|
62
|
+
async newPassword(user, pwd) {
|
|
66
63
|
if (pwd.Password !== pwd.ConfirmPassword) {
|
|
67
64
|
throw new exceptions_1.InvalidArgument('password does not match');
|
|
68
65
|
}
|
|
69
|
-
const user = await rbac_1.User.where({ Login: login }).firstOrFail();
|
|
70
66
|
const isValid = await this.PasswordProvider.verify(user.Password, pwd.OldPassword);
|
|
71
67
|
if (!isValid) {
|
|
72
|
-
throw new exceptions_1.Forbidden('
|
|
68
|
+
throw new exceptions_1.Forbidden('old password do not match');
|
|
73
69
|
}
|
|
74
70
|
const hashedPassword = await this.PasswordProvider.hash(pwd.Password);
|
|
75
71
|
user.Password = hashedPassword;
|
|
@@ -99,11 +95,11 @@ __decorate([
|
|
|
99
95
|
__metadata("design:returntype", Promise)
|
|
100
96
|
], UserController.prototype, "refresh", null);
|
|
101
97
|
__decorate([
|
|
102
|
-
(0, http_1.Patch)('/password
|
|
103
|
-
__param(0, (0,
|
|
98
|
+
(0, http_1.Patch)('/password'),
|
|
99
|
+
__param(0, (0, decorators_1.User)()),
|
|
104
100
|
__param(1, (0, http_1.Body)()),
|
|
105
101
|
__metadata("design:type", Function),
|
|
106
|
-
__metadata("design:paramtypes", [
|
|
102
|
+
__metadata("design:paramtypes", [rbac_1.User, password_dto_1.PasswordDto]),
|
|
107
103
|
__metadata("design:returntype", Promise)
|
|
108
104
|
], UserController.prototype, "newPassword", null);
|
|
109
105
|
UserController = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAkD;AAClD,wCAAqF;AACrF,wCAAuF;AACvF,oDAAiE;AACjE,oCAAyC;AACzC,8CAA2D;AAC3D,0DAAgD;AAChD,qDAAuC;AAKvC,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,qBAAc;IAYzC,KAAK,CAAC,OAAO,CAAS,IAAe,EAAY,IAAY;QAClE,wBAAwB;QACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAE/B,+BAA+B;QAC/B,MAAM,GAAG,GAAmB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,GAAG,EAAE;YACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IAGM,KAAK,CAAC,WAAW,CAAS,IAAe,EAAU,GAAgB;QACxE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,eAAe,EAAE;YACxC,MAAM,IAAI,4BAAe,CAAC,yBAAyB,CAAC,CAAC;SACtD;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,sBAAS,CAAC,2BAA2B,CAAC,CAAC;SAClD;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA5CC;IADC,IAAA,eAAU,GAAE;8BACe,uBAAgB;wDAAC;AAG7C;IADC,IAAA,sBAAM,EAAC,oBAAoB,CAAC;;qDACG;AAGhC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;uDAAC;AAI3C;IAFC,IAAA,UAAG,GAAE;IACL,IAAA,uBAAU,EAAC,SAAS,CAAC;IACA,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAmB,WAAA,IAAA,aAAM,GAAE,CAAA;;qCAApB,WAAS;;6CAe3C;AAGD;IADC,IAAA,YAAK,EAAC,WAAW,CAAC;IACO,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAmB,WAAA,IAAA,WAAI,GAAE,CAAA;;qCAAlB,WAAS,EAAe,0BAAW;;iDAezE;AA7CU,cAAc;IAF1B,IAAA,eAAQ,EAAC,MAAM,CAAC;IAChB,IAAA,qBAAQ,EAAC,MAAM,CAAC;GACJ,cAAc,CA8C1B;AA9CY,wCAAc"}
|
|
@@ -63,4 +63,8 @@ UserMetaController = __decorate([
|
|
|
63
63
|
(0, decorators_1.Resource)('user.metadata')
|
|
64
64
|
], UserMetaController);
|
|
65
65
|
exports.UserMetaController = UserMetaController;
|
|
66
|
+
// function userOwnerPermissionStrategy(){
|
|
67
|
+
// // 1. obtain current logged user
|
|
68
|
+
// // 2. find
|
|
69
|
+
// }
|
|
66
70
|
//# sourceMappingURL=UserMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../src/controllers/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAqE;AACrE,wCAAgE;AAChE,gDAA2C;AAC3C,8CAAiD;AACjD,gDAAuD;AAIvD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAGtB,KAAK,CAAC,WAAW,CAAS,MAAiB,EAAe,IAAe,EAAa,IAAkB;QAC7G,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAIM,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAe,IAAe,EAAe,IAAkB;QAClH,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,gBAAS,CAAC,8CAA8C,CAAC,CAAC;SACrE;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAzBC;IAFC,IAAA,WAAI,GAAE;IACN,IAAA,uBAAU,EAAC,WAAW,CAAC;IACE,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,kBAAO,GAAE,CAAA;;qCAAnD,WAAS,EAAqB,WAAS,EAAmB,mBAAY;;qDAO9G;AAID;IAFC,IAAA,YAAK,EAAC,2BAA2B,CAAC;IAClC,IAAA,uBAAU,EAAC,WAAW,CAAC;IACK,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,oBAAS,GAAE,CAAA;;qCAArD,WAAS,EAAqB,WAAS,EAAqB,mBAAY;;wDAanH;AA3BU,kBAAkB;IAF9B,IAAA,eAAQ,EAAC,qBAAqB,CAAC;IAC/B,IAAA,qBAAQ,EAAC,eAAe,CAAC;GACb,kBAAkB,CA4B9B;AA5BY,gDAAkB"}
|
|
1
|
+
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../src/controllers/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAqE;AACrE,wCAAgE;AAChE,gDAA2C;AAC3C,8CAAiD;AACjD,gDAAuD;AAIvD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAGtB,KAAK,CAAC,WAAW,CAAS,MAAiB,EAAe,IAAe,EAAa,IAAkB;QAC7G,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAIM,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAe,IAAe,EAAe,IAAkB;QAClH,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,gBAAS,CAAC,8CAA8C,CAAC,CAAC;SACrE;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAzBC;IAFC,IAAA,WAAI,GAAE;IACN,IAAA,uBAAU,EAAC,WAAW,CAAC;IACE,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,kBAAO,GAAE,CAAA;;qCAAnD,WAAS,EAAqB,WAAS,EAAmB,mBAAY;;qDAO9G;AAID;IAFC,IAAA,YAAK,EAAC,2BAA2B,CAAC;IAClC,IAAA,uBAAU,EAAC,WAAW,CAAC;IACK,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,oBAAS,GAAE,CAAA;;qCAArD,WAAS,EAAqB,WAAS,EAAqB,mBAAY;;wDAanH;AA3BU,kBAAkB;IAF9B,IAAA,eAAQ,EAAC,qBAAqB,CAAC;IAC/B,IAAA,qBAAQ,EAAC,eAAe,CAAC;GACb,kBAAkB,CA4B9B;AA5BY,gDAAkB;AA8B/B,0CAA0C;AAE1C,sCAAsC;AACtC,gBAAgB;AAEhB,IAAI"}
|
package/lib/decorators.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Session = exports.User = exports.Permission = exports.Resource = exports.setRbacMetadata = exports.ACL_CONTROLLER_DESCRIPTOR = void 0;
|
|
4
4
|
const http_1 = require("@spinajs/http");
|
|
5
|
-
const
|
|
5
|
+
const RbacPolicy_1 = require("./policies/RbacPolicy");
|
|
6
6
|
exports.ACL_CONTROLLER_DESCRIPTOR = Symbol('ACL_CONTROLLER_DESCRIPTOR_SYMBOL');
|
|
7
7
|
function setRbacMetadata(target, callback) {
|
|
8
8
|
let metadata = Reflect.getMetadata(exports.ACL_CONTROLLER_DESCRIPTOR, target.prototype || target);
|
|
@@ -43,7 +43,7 @@ function descriptor(callback) {
|
|
|
43
43
|
*/
|
|
44
44
|
function Resource(resource, permission = 'readOwn') {
|
|
45
45
|
return descriptor((metadata, target) => {
|
|
46
|
-
(0, http_1.Policy)(
|
|
46
|
+
(0, http_1.Policy)(RbacPolicy_1.RbacPolicy)(target, null, null);
|
|
47
47
|
metadata.Resource = resource;
|
|
48
48
|
metadata.Permission = permission;
|
|
49
49
|
});
|
|
@@ -57,19 +57,15 @@ exports.Resource = Resource;
|
|
|
57
57
|
*/
|
|
58
58
|
function Permission(permission = 'readOwn') {
|
|
59
59
|
return descriptor((metadata, target, propertyKey) => {
|
|
60
|
-
let route = null;
|
|
61
60
|
if (propertyKey) {
|
|
62
|
-
if (metadata.Routes.has(propertyKey)) {
|
|
63
|
-
route =
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
route = {
|
|
61
|
+
if (!metadata.Routes.has(propertyKey)) {
|
|
62
|
+
const route = {
|
|
67
63
|
Permission: permission,
|
|
68
64
|
};
|
|
65
|
+
metadata.Routes.set(propertyKey, route);
|
|
69
66
|
}
|
|
70
|
-
metadata.Routes.set(propertyKey, route);
|
|
71
67
|
}
|
|
72
|
-
(0, http_1.Policy)(
|
|
68
|
+
(0, http_1.Policy)(RbacPolicy_1.RbacPolicy)(target, propertyKey, null);
|
|
73
69
|
});
|
|
74
70
|
}
|
|
75
71
|
exports.Permission = Permission;
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AACA,wCAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AACA,wCAAyD;AACzD,sDAAmD;AAEtC,QAAA,yBAAyB,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAEpF,SAAgB,eAAe,CAAC,MAAW,EAAE,QAAyC;IACpF,IAAI,QAAQ,GAAoB,OAAO,CAAC,WAAW,CAAC,iCAAyB,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IAC3G,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG;YACT,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI,GAAG,EAA0C;YACzD,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;KACzF;IAED,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACpB;AACH,CAAC;AAfD,0CAeC;AAED,SAAS,UAAU,CAAC,QAA0I;IAC5J,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,iBAA8C,EAAE,EAAE;QACnG,IAAI,QAAQ,GAAoB,OAAO,CAAC,WAAW,CAAC,iCAAyB,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG;gBACT,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,IAAI,GAAG,EAA0C;gBACzD,UAAU,EAAE,SAAS;aACtB,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;SACzF;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,QAAgB,EAAE,aAA6B,SAAS;IAC/E,OAAO,UAAU,CAAC,CAAC,QAAyB,EAAE,MAAW,EAAE,EAAE;QAC3D,IAAA,aAAM,EAAC,uBAAU,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,4BAOC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,aAA6B,SAAS;IAC/D,OAAO,UAAU,CAAC,CAAC,QAAyB,EAAE,MAAW,EAAE,WAAmB,EAAE,EAAE;QAChF,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBACrC,MAAM,KAAK,GAAG;oBACZ,UAAU,EAAE,UAAU;iBACvB,CAAC;gBACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aACzC;SACF;QAED,IAAA,aAAM,EAAC,uBAAU,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,gCAaC;AAED;;GAEG;AACH,SAAgB,IAAI;IAClB,OAAO,IAAA,YAAK,EAAC,IAAA,gBAAS,EAAC,SAAS,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,oBAEC;AAED;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,IAAA,YAAK,EAAC,IAAA,gBAAS,EAAC,YAAY,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,0BAEC"}
|
package/lib/dto/login-dto.d.ts
CHANGED
|
@@ -7,15 +7,10 @@ export declare const LoginDtoSchema: {
|
|
|
7
7
|
type: string;
|
|
8
8
|
format: string;
|
|
9
9
|
};
|
|
10
|
-
Password: {
|
|
11
|
-
type: string;
|
|
12
|
-
maxLength: number;
|
|
13
|
-
};
|
|
14
10
|
};
|
|
15
11
|
required: string[];
|
|
16
12
|
};
|
|
17
|
-
export declare class
|
|
13
|
+
export declare class UserLoginDto {
|
|
18
14
|
Email: string;
|
|
19
|
-
Password: string;
|
|
20
15
|
constructor(data: any);
|
|
21
16
|
}
|
package/lib/dto/login-dto.js
CHANGED
|
@@ -9,26 +9,25 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.UserLoginDto = exports.LoginDtoSchema = void 0;
|
|
13
13
|
const validation_1 = require("@spinajs/validation");
|
|
14
14
|
exports.LoginDtoSchema = {
|
|
15
15
|
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
16
|
-
title: '
|
|
16
|
+
title: 'login DTO',
|
|
17
17
|
type: 'object',
|
|
18
18
|
properties: {
|
|
19
19
|
Login: { type: 'string', format: 'email' },
|
|
20
|
-
Password: { type: 'string', maxLength: 32 },
|
|
21
20
|
},
|
|
22
|
-
required: ['Email'
|
|
21
|
+
required: ['Email'],
|
|
23
22
|
};
|
|
24
|
-
let
|
|
23
|
+
let UserLoginDto = class UserLoginDto {
|
|
25
24
|
constructor(data) {
|
|
26
25
|
Object.assign(this, data);
|
|
27
26
|
}
|
|
28
27
|
};
|
|
29
|
-
|
|
28
|
+
UserLoginDto = __decorate([
|
|
30
29
|
(0, validation_1.Schema)(exports.LoginDtoSchema),
|
|
31
30
|
__metadata("design:paramtypes", [Object])
|
|
32
|
-
],
|
|
33
|
-
exports.
|
|
31
|
+
], UserLoginDto);
|
|
32
|
+
exports.UserLoginDto = UserLoginDto;
|
|
34
33
|
//# sourceMappingURL=login-dto.js.map
|
package/lib/dto/login-dto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-dto.js","sourceRoot":"","sources":["../../src/dto/login-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"login-dto.js","sourceRoot":"","sources":["../../src/dto/login-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;KAC3C;IACD,QAAQ,EAAE,CAAC,OAAO,CAAC;CACpB,CAAC;AAGF,IAAa,YAAY,GAAzB,MAAa,YAAY;IAGvB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AANY,YAAY;IADxB,IAAA,mBAAM,EAAC,sBAAc,CAAC;;GACV,YAAY,CAMxB;AANY,oCAAY"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const RestorePasswordDtoSchema: {
|
|
2
|
+
$schema: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
properties: {
|
|
6
|
+
Password: {
|
|
7
|
+
type: string;
|
|
8
|
+
maxLength: number;
|
|
9
|
+
minLength: number;
|
|
10
|
+
};
|
|
11
|
+
ConfirmPassword: {
|
|
12
|
+
type: string;
|
|
13
|
+
maxLength: number;
|
|
14
|
+
minLength: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
required: string[];
|
|
18
|
+
};
|
|
19
|
+
export declare class RestorePasswordDto {
|
|
20
|
+
Password: string;
|
|
21
|
+
ConfirmPassword: string;
|
|
22
|
+
constructor(data: any);
|
|
23
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.RestorePasswordDto = exports.RestorePasswordDtoSchema = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
exports.RestorePasswordDtoSchema = {
|
|
15
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
16
|
+
title: 'User password DTO',
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
Password: { type: 'string', maxLength: 32, minLength: 6 },
|
|
20
|
+
ConfirmPassword: { type: 'string', maxLength: 32, minLength: 6 },
|
|
21
|
+
},
|
|
22
|
+
required: ['Password', 'ConfirmPassword'],
|
|
23
|
+
};
|
|
24
|
+
let RestorePasswordDto = class RestorePasswordDto {
|
|
25
|
+
constructor(data) {
|
|
26
|
+
Object.assign(this, data);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
RestorePasswordDto = __decorate([
|
|
30
|
+
(0, validation_1.Schema)(exports.RestorePasswordDtoSchema),
|
|
31
|
+
__metadata("design:paramtypes", [Object])
|
|
32
|
+
], RestorePasswordDto);
|
|
33
|
+
exports.RestorePasswordDto = RestorePasswordDto;
|
|
34
|
+
//# sourceMappingURL=restore-password-dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore-password-dto.js","sourceRoot":"","sources":["../../src/dto/restore-password-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,wBAAwB,GAAG;IACtC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QACzD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;KACjE;IACD,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC;CAC1C,CAAC;AAGF,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAK7B,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,kBAAkB;IAD9B,IAAA,mBAAM,EAAC,gCAAwB,CAAC;;GACpB,kBAAkB,CAQ9B;AARY,gDAAkB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const TokenDtoSchema: {
|
|
2
|
+
$schema: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
properties: {
|
|
6
|
+
Token: {
|
|
7
|
+
type: string;
|
|
8
|
+
maxLength: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export declare class TokenDto {
|
|
13
|
+
Token: string;
|
|
14
|
+
constructor(data: any);
|
|
15
|
+
}
|
|
@@ -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.TokenDto = exports.TokenDtoSchema = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
exports.TokenDtoSchema = {
|
|
15
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
16
|
+
title: 'Token DTO',
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
Token: { type: 'string', maxLength: 64 },
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
let TokenDto = class TokenDto {
|
|
23
|
+
constructor(data) {
|
|
24
|
+
Object.assign(this, data);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
TokenDto = __decorate([
|
|
28
|
+
(0, validation_1.Schema)(exports.TokenDtoSchema),
|
|
29
|
+
__metadata("design:paramtypes", [Object])
|
|
30
|
+
], TokenDto);
|
|
31
|
+
exports.TokenDto = TokenDto;
|
|
32
|
+
//# sourceMappingURL=token-dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-dto.js","sourceRoot":"","sources":["../../src/dto/token-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAChC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KACzC;CACF,CAAC;AAGF,IAAa,QAAQ,GAArB,MAAa,QAAQ;IAGnB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AANY,QAAQ;IADpB,IAAA,mBAAM,EAAC,sBAAc,CAAC;;GACV,QAAQ,CAMpB;AANY,4BAAQ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const UserLoginDtoSchema: {
|
|
2
|
+
$schema: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
properties: {
|
|
6
|
+
Login: {
|
|
7
|
+
type: string;
|
|
8
|
+
format: string;
|
|
9
|
+
};
|
|
10
|
+
Password: {
|
|
11
|
+
type: string;
|
|
12
|
+
maxLength: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
required: string[];
|
|
16
|
+
};
|
|
17
|
+
export declare class UserLoginDto {
|
|
18
|
+
Email: string;
|
|
19
|
+
Password: string;
|
|
20
|
+
constructor(data: any);
|
|
21
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.UserLoginDto = exports.UserLoginDtoSchema = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
exports.UserLoginDtoSchema = {
|
|
15
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
16
|
+
title: 'User login DTO',
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
Login: { type: 'string', format: 'email' },
|
|
20
|
+
Password: { type: 'string', maxLength: 32 },
|
|
21
|
+
},
|
|
22
|
+
required: ['Email', 'Password'],
|
|
23
|
+
};
|
|
24
|
+
let UserLoginDto = class UserLoginDto {
|
|
25
|
+
constructor(data) {
|
|
26
|
+
Object.assign(this, data);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
UserLoginDto = __decorate([
|
|
30
|
+
(0, validation_1.Schema)(exports.UserLoginDtoSchema),
|
|
31
|
+
__metadata("design:paramtypes", [Object])
|
|
32
|
+
], UserLoginDto);
|
|
33
|
+
exports.UserLoginDto = UserLoginDto;
|
|
34
|
+
//# sourceMappingURL=userLogin-dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userLogin-dto.js","sourceRoot":"","sources":["../../src/dto/userLogin-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC,CAAC;AAGF,IAAa,YAAY,GAAzB,MAAa,YAAY;IAKvB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,YAAY;IADxB,IAAA,mBAAM,EAAC,0BAAkB,CAAC;;GACd,YAAY,CAQxB;AARY,oCAAY"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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.UserLoginFailed = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserLoginFailed = class UserLoginFailed extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserLoginFailed = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserLoginFailed);
|
|
24
|
+
exports.UserLoginFailed = UserLoginFailed;
|
|
25
|
+
//# sourceMappingURL=UserLoginFailed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserLoginFailed.js","sourceRoot":"","sources":["../../src/events/UserLoginFailed.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,kBAAU;IAC7C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,eAAe;IAD3B,IAAA,aAAK,GAAE;;GACK,eAAe,CAI3B;AAJY,0CAAe"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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.UserLoginSuccess = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserLoginSuccess = class UserLoginSuccess extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserLoginSuccess = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserLoginSuccess);
|
|
24
|
+
exports.UserLoginSuccess = UserLoginSuccess;
|
|
25
|
+
//# sourceMappingURL=UserLoginSuccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserLoginSuccess.js","sourceRoot":"","sources":["../../src/events/UserLoginSuccess.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,kBAAU;IAC9C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,gBAAgB;IAD5B,IAAA,aAAK,GAAE;;GACK,gBAAgB,CAI5B;AAJY,4CAAgB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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.UserPasswordRestore = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserPasswordRestore = class UserPasswordRestore extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID, resetToken) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
this.resetToken = resetToken;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
UserPasswordRestore = __decorate([
|
|
22
|
+
(0, queue_1.Event)(),
|
|
23
|
+
__metadata("design:paramtypes", [String, String])
|
|
24
|
+
], UserPasswordRestore);
|
|
25
|
+
exports.UserPasswordRestore = UserPasswordRestore;
|
|
26
|
+
//# sourceMappingURL=UserPassordRestore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserPassordRestore.js","sourceRoot":"","sources":["../../src/events/UserPassordRestore.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;IACjD,YAAmB,QAAgB,EAAS,UAAkB;QAC5D,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,eAAU,GAAV,UAAU,CAAQ;IAE9D,CAAC;CACF,CAAA;AAJY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;;GACK,mBAAmB,CAI/B;AAJY,kDAAmB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.FingerprintJs = void 0;
|
|
10
|
+
const di_1 = require("@spinajs/di");
|
|
11
|
+
const interfaces_1 = require("../interfaces");
|
|
12
|
+
let FingerprintJs = class FingerprintJs extends interfaces_1.FingerprintProvider {
|
|
13
|
+
};
|
|
14
|
+
FingerprintJs = __decorate([
|
|
15
|
+
(0, di_1.Injectable)(interfaces_1.FingerprintProvider)
|
|
16
|
+
], FingerprintJs);
|
|
17
|
+
exports.FingerprintJs = FingerprintJs;
|
|
18
|
+
//# sourceMappingURL=FingerprintJs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FingerprintJs.js","sourceRoot":"","sources":["../../src/fingerprint/FingerprintJs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAyC;AACzC,8CAAoD;AAGpD,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,gCAAmB;CAAG,CAAA;AAA5C,aAAa;IADzB,IAAA,eAAU,EAAC,gCAAmB,CAAC;GACnB,aAAa,CAA+B;AAA5C,sCAAa"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './decorators';
|
|
2
2
|
export * from './interfaces';
|
|
3
3
|
export * from './middlewares';
|
|
4
|
-
export * from './policies';
|
|
4
|
+
export * from './policies/RbacPolicy';
|
|
5
5
|
export * from './controllers/LoginController';
|
|
6
6
|
export * from './controllers/UserController';
|
|
7
7
|
export * from './transformers';
|
package/lib/index.js
CHANGED
|
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./decorators"), exports);
|
|
18
18
|
__exportStar(require("./interfaces"), exports);
|
|
19
19
|
__exportStar(require("./middlewares"), exports);
|
|
20
|
-
__exportStar(require("./policies"), exports);
|
|
20
|
+
__exportStar(require("./policies/RbacPolicy"), exports);
|
|
21
21
|
__exportStar(require("./controllers/LoginController"), exports);
|
|
22
22
|
__exportStar(require("./controllers/UserController"), exports);
|
|
23
23
|
__exportStar(require("./transformers"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,wDAAsC;AACtC,gEAA8C;AAC9C,+DAA6C;AAC7C,iDAA+B;AAC/B,+CAA6B"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -28,3 +28,38 @@ export interface IRbacRoutePermissionDescriptor {
|
|
|
28
28
|
*/
|
|
29
29
|
Permission: PermissionType;
|
|
30
30
|
}
|
|
31
|
+
export declare abstract class TwoFactorAuthProvider {
|
|
32
|
+
/**
|
|
33
|
+
* generate secret key if this provider use is needs it or null
|
|
34
|
+
*/
|
|
35
|
+
abstract initialize(user: User): Promise<any | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Perform action eg. send sms or email. Some 2fac implementations do nothing eg. google auth or hardware keys
|
|
38
|
+
*/
|
|
39
|
+
abstract execute(user: User): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* verifies token send by user
|
|
42
|
+
*/
|
|
43
|
+
abstract verifyToken(token: string, user: User): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Checks if 2fa is enabled for given user
|
|
46
|
+
*/
|
|
47
|
+
abstract isEnabled(user: User): Promise<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* Checks if 2fa is initialized eg. some
|
|
50
|
+
* 2fa systems requires to generate private software key and pass it
|
|
51
|
+
* to user ( like google authenticator)
|
|
52
|
+
*/
|
|
53
|
+
abstract isInitialized(user: User): Promise<boolean>;
|
|
54
|
+
}
|
|
55
|
+
export declare abstract class FingerprintProvider {
|
|
56
|
+
}
|
|
57
|
+
export interface TwoFactorAuthConfig {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
service: string;
|
|
60
|
+
}
|
|
61
|
+
export interface FingerpringConfig {
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
maxDevices: number;
|
|
64
|
+
service: string;
|
|
65
|
+
}
|
package/lib/interfaces.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FingerprintProvider = exports.TwoFactorAuthProvider = void 0;
|
|
4
|
+
class TwoFactorAuthProvider {
|
|
5
|
+
}
|
|
6
|
+
exports.TwoFactorAuthProvider = TwoFactorAuthProvider;
|
|
7
|
+
class FingerprintProvider {
|
|
8
|
+
}
|
|
9
|
+
exports.FingerprintProvider = FingerprintProvider;
|
|
3
10
|
//# sourceMappingURL=interfaces.js.map
|
package/lib/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAqCA,MAAsB,qBAAqB;CA2B1C;AA3BD,sDA2BC;AAED,MAAsB,mBAAmB;CAAG;AAA5C,kDAA4C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RouteMiddleware, IController, IRoute } from '@spinajs/http';
|
|
2
|
+
/**
|
|
3
|
+
* Filters attributes of db models
|
|
4
|
+
*/
|
|
5
|
+
export declare class FilterAttribute extends RouteMiddleware {
|
|
6
|
+
onResponse(): Promise<void>;
|
|
7
|
+
isEnabled(_action: IRoute, _instance: IController): boolean;
|
|
8
|
+
onBefore(): Promise<void>;
|
|
9
|
+
onAfter(): Promise<void>;
|
|
10
|
+
}
|