@spinajs/rbac 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/auth.d.ts +10 -3
- package/lib/auth.js +64 -8
- package/lib/auth.js.map +1 -1
- package/lib/cli/ActivateUser.d.ts +8 -0
- package/lib/cli/ActivateUser.js +48 -0
- package/lib/cli/ActivateUser.js.map +1 -0
- package/lib/cli/BanUser.d.ts +8 -0
- package/lib/cli/BanUser.js +64 -0
- package/lib/cli/BanUser.js.map +1 -0
- package/lib/cli/ChangePassword.d.ts +0 -0
- package/lib/cli/ChangePassword.js +1 -0
- package/lib/cli/ChangePassword.js.map +1 -0
- package/lib/cli/ChangeUserPassword.d.ts +11 -0
- package/lib/cli/ChangeUserPassword.js +59 -0
- package/lib/cli/ChangeUserPassword.js.map +1 -0
- package/lib/cli/ClearUserTimelineSchedule.d.ts +8 -0
- package/lib/cli/ClearUserTimelineSchedule.js +55 -0
- package/lib/cli/ClearUserTimelineSchedule.js.map +1 -0
- package/lib/cli/CreateUser.d.ts +17 -0
- package/lib/cli/CreateUser.js +72 -0
- package/lib/cli/CreateUser.js.map +1 -0
- package/lib/cli/DeleteUser.d.ts +8 -0
- package/lib/cli/DeleteUser.js +41 -0
- package/lib/cli/DeleteUser.js.map +1 -0
- package/lib/cli/Find.d.ts +12 -0
- package/lib/cli/Find.js +45 -0
- package/lib/cli/Find.js.map +1 -0
- package/lib/cli/FindUser.d.ts +12 -0
- package/lib/cli/FindUser.js +45 -0
- package/lib/cli/FindUser.js.map +1 -0
- package/lib/cli/GrantUserRole.d.ts +8 -0
- package/lib/cli/GrantUserRole.js +48 -0
- package/lib/cli/GrantUserRole.js.map +1 -0
- package/lib/cli/LatestUserEvents.d.ts +6 -0
- package/lib/cli/LatestUserEvents.js +38 -0
- package/lib/cli/LatestUserEvents.js.map +1 -0
- package/lib/cli/RevokeUserRole.d.ts +8 -0
- package/lib/cli/RevokeUserRole.js +47 -0
- package/lib/cli/RevokeUserRole.js.map +1 -0
- package/lib/cli/UnbanUserSchedule.d.ts +8 -0
- package/lib/cli/UnbanUserSchedule.js +55 -0
- package/lib/cli/UnbanUserSchedule.js.map +1 -0
- package/lib/config/rbac.js +67 -2
- package/lib/config/rbac.js.map +1 -1
- package/lib/events/NewUser.d.ts +12 -0
- package/lib/events/NewUser.js +17 -0
- package/lib/events/NewUser.js.map +1 -0
- package/lib/events/UserActivated.d.ts +5 -0
- package/lib/events/UserActivated.js +25 -0
- package/lib/events/UserActivated.js.map +1 -0
- package/lib/events/UserBanned.d.ts +6 -0
- package/lib/events/UserBanned.js +26 -0
- package/lib/events/UserBanned.js.map +1 -0
- package/lib/events/UserDeactivated.d.ts +5 -0
- package/lib/events/UserDeactivated.js +25 -0
- package/lib/events/UserDeactivated.js.map +1 -0
- package/lib/events/UserDeleted.d.ts +5 -0
- package/lib/events/UserDeleted.js +25 -0
- package/lib/events/UserDeleted.js.map +1 -0
- package/lib/events/UserMetadataAdded.d.ts +5 -0
- package/lib/events/UserMetadataAdded.js +25 -0
- package/lib/events/UserMetadataAdded.js.map +1 -0
- package/lib/events/UserMetadataChanged.d.ts +5 -0
- package/lib/events/UserMetadataChanged.js +25 -0
- package/lib/events/UserMetadataChanged.js.map +1 -0
- package/lib/events/UserMetadataDeleted.d.ts +5 -0
- package/lib/events/UserMetadataDeleted.js +25 -0
- package/lib/events/UserMetadataDeleted.js.map +1 -0
- package/lib/events/UserPasswordChanged.d.ts +5 -0
- package/lib/events/UserPasswordChanged.js +25 -0
- package/lib/events/UserPasswordChanged.js.map +1 -0
- package/lib/events/UserPropertyChange.d.ts +7 -0
- package/lib/events/UserPropertyChange.js +17 -0
- package/lib/events/UserPropertyChange.js.map +1 -0
- package/lib/events/UserPropertyChanged.d.ts +7 -0
- package/lib/events/UserPropertyChanged.js +17 -0
- package/lib/events/UserPropertyChanged.js.map +1 -0
- package/lib/events/UserRoleGranted.d.ts +6 -0
- package/lib/events/UserRoleGranted.js +26 -0
- package/lib/events/UserRoleGranted.js.map +1 -0
- package/lib/events/UserRoleRevoked.d.ts +6 -0
- package/lib/events/UserRoleRevoked.js +26 -0
- package/lib/events/UserRoleRevoked.js.map +1 -0
- package/lib/events/UserUnbanned.d.ts +5 -0
- package/lib/events/UserUnbanned.js +25 -0
- package/lib/events/UserUnbanned.js.map +1 -0
- package/lib/events/index.d.ts +13 -0
- package/lib/events/index.js +30 -0
- package/lib/events/index.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +151 -6
- package/lib/interfaces.js +31 -2
- package/lib/interfaces.js.map +1 -1
- package/lib/jobs/UnbanUser.d.ts +9 -0
- package/lib/jobs/UnbanUser.js +44 -0
- package/lib/jobs/UnbanUser.js.map +1 -0
- package/lib/messages/ChangedProperties.d.ts +6 -0
- package/lib/messages/ChangedProperties.js +8 -0
- package/lib/messages/ChangedProperties.js.map +1 -0
- package/lib/messages/NewUser.d.ts +14 -0
- package/lib/messages/NewUser.js +21 -0
- package/lib/messages/NewUser.js.map +1 -0
- package/lib/messages/UserActivated.d.ts +7 -0
- package/lib/messages/UserActivated.js +13 -0
- package/lib/messages/UserActivated.js.map +1 -0
- package/lib/messages/UserBanned.d.ts +7 -0
- package/lib/messages/UserBanned.js +13 -0
- package/lib/messages/UserBanned.js.map +1 -0
- package/lib/middleware.d.ts +4 -0
- package/lib/middleware.js +23 -0
- package/lib/middleware.js.map +1 -0
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.js +17 -1
- package/lib/migrations/RBACInitial_2022_06_28_01_13_00.js.map +1 -1
- package/lib/models/User.d.ts +41 -3
- package/lib/models/User.js +140 -5
- package/lib/models/User.js.map +1 -1
- package/lib/models/UserMetadata.d.ts +3 -2
- package/lib/models/UserMetadata.js +4 -0
- package/lib/models/UserMetadata.js.map +1 -1
- package/lib/models/UserTimeline.d.ts +28 -0
- package/lib/models/UserTimeline.js +47 -0
- package/lib/models/UserTimeline.js.map +1 -0
- package/lib/password.d.ts +10 -1
- package/lib/password.js +27 -1
- package/lib/password.js.map +1 -1
- package/lib/session.d.ts +3 -3
- package/lib/session.js +20 -6
- package/lib/session.js.map +1 -1
- package/package.json +12 -10
|
@@ -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.UserDeleted = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserDeleted = class UserDeleted extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserDeleted = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserDeleted);
|
|
24
|
+
exports.UserDeleted = UserDeleted;
|
|
25
|
+
//# sourceMappingURL=UserDeleted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserDeleted.js","sourceRoot":"","sources":["../../src/events/UserDeleted.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,kBAAU;IACzC,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,WAAW;IADvB,IAAA,aAAK,GAAE;;GACK,WAAW,CAIvB;AAJY,kCAAW"}
|
|
@@ -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.UserMetadataAdded = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserMetadataAdded = class UserMetadataAdded extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserMetadataAdded = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserMetadataAdded);
|
|
24
|
+
exports.UserMetadataAdded = UserMetadataAdded;
|
|
25
|
+
//# sourceMappingURL=UserMetadataAdded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadataAdded.js","sourceRoot":"","sources":["../../src/events/UserMetadataAdded.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,kBAAU;IAC/C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,iBAAiB;IAD7B,IAAA,aAAK,GAAE;;GACK,iBAAiB,CAI7B;AAJY,8CAAiB"}
|
|
@@ -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.UserMetadataChanged = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserMetadataChanged = class UserMetadataChanged extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserMetadataChanged = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserMetadataChanged);
|
|
24
|
+
exports.UserMetadataChanged = UserMetadataChanged;
|
|
25
|
+
//# sourceMappingURL=UserMetadataChanged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadataChanged.js","sourceRoot":"","sources":["../../src/events/UserMetadataChanged.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;IACjD,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;;GACK,mBAAmB,CAI/B;AAJY,kDAAmB"}
|
|
@@ -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.UserMetadataDeleted = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserMetadataDeleted = class UserMetadataDeleted extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserMetadataDeleted = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserMetadataDeleted);
|
|
24
|
+
exports.UserMetadataDeleted = UserMetadataDeleted;
|
|
25
|
+
//# sourceMappingURL=UserMetadataDeleted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadataDeleted.js","sourceRoot":"","sources":["../../src/events/UserMetadataDeleted.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;IACjD,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;;GACK,mBAAmB,CAI/B;AAJY,kDAAmB"}
|
|
@@ -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.UserPasswordChanged = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserPasswordChanged = class UserPasswordChanged extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserPasswordChanged = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserPasswordChanged);
|
|
24
|
+
exports.UserPasswordChanged = UserPasswordChanged;
|
|
25
|
+
//# sourceMappingURL=UserPasswordChanged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserPasswordChanged.js","sourceRoot":"","sources":["../../src/events/UserPasswordChanged.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;IACjD,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;;GACK,mBAAmB,CAI/B;AAJY,kDAAmB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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.UserPropertyChanged = void 0;
|
|
10
|
+
const queue_1 = require("@spinajs/queue");
|
|
11
|
+
let UserPropertyChanged = class UserPropertyChanged extends queue_1.QueueEvent {
|
|
12
|
+
};
|
|
13
|
+
UserPropertyChanged = __decorate([
|
|
14
|
+
(0, queue_1.Event)()
|
|
15
|
+
], UserPropertyChanged);
|
|
16
|
+
exports.UserPropertyChanged = UserPropertyChanged;
|
|
17
|
+
//# sourceMappingURL=UserPropertyChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserPropertyChange.js","sourceRoot":"","sources":["../../src/events/UserPropertyChange.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;CAOlD,CAAA;AAPY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;GACK,mBAAmB,CAO/B;AAPY,kDAAmB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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.UserPropertyChanged = void 0;
|
|
10
|
+
const queue_1 = require("@spinajs/queue");
|
|
11
|
+
let UserPropertyChanged = class UserPropertyChanged extends queue_1.QueueEvent {
|
|
12
|
+
};
|
|
13
|
+
UserPropertyChanged = __decorate([
|
|
14
|
+
(0, queue_1.Event)()
|
|
15
|
+
], UserPropertyChanged);
|
|
16
|
+
exports.UserPropertyChanged = UserPropertyChanged;
|
|
17
|
+
//# sourceMappingURL=UserPropertyChanged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserPropertyChanged.js","sourceRoot":"","sources":["../../src/events/UserPropertyChanged.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,kBAAU;CAOlD,CAAA;AAPY,mBAAmB;IAD/B,IAAA,aAAK,GAAE;GACK,mBAAmB,CAO/B;AAPY,kDAAmB"}
|
|
@@ -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.UserRoleGranted = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserRoleGranted = class UserRoleGranted extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID, Role) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
this.Role = Role;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
UserRoleGranted = __decorate([
|
|
22
|
+
(0, queue_1.Event)(),
|
|
23
|
+
__metadata("design:paramtypes", [String, String])
|
|
24
|
+
], UserRoleGranted);
|
|
25
|
+
exports.UserRoleGranted = UserRoleGranted;
|
|
26
|
+
//# sourceMappingURL=UserRoleGranted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserRoleGranted.js","sourceRoot":"","sources":["../../src/events/UserRoleGranted.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,kBAAU;IAC7C,YAAmB,QAAgB,EAAS,IAAY;QACtD,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAExD,CAAC;CACF,CAAA;AAJY,eAAe;IAD3B,IAAA,aAAK,GAAE;;GACK,eAAe,CAI3B;AAJY,0CAAe"}
|
|
@@ -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.UserRoleRevoked = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserRoleRevoked = class UserRoleRevoked extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID, Role) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
this.Role = Role;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
UserRoleRevoked = __decorate([
|
|
22
|
+
(0, queue_1.Event)(),
|
|
23
|
+
__metadata("design:paramtypes", [String, String])
|
|
24
|
+
], UserRoleRevoked);
|
|
25
|
+
exports.UserRoleRevoked = UserRoleRevoked;
|
|
26
|
+
//# sourceMappingURL=UserRoleRevoked.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserRoleRevoked.js","sourceRoot":"","sources":["../../src/events/UserRoleRevoked.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,kBAAU;IAC7C,YAAmB,QAAgB,EAAS,IAAY;QACtD,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAExD,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.UserUnbanned = void 0;
|
|
13
|
+
const queue_1 = require("@spinajs/queue");
|
|
14
|
+
let UserUnbanned = class UserUnbanned extends queue_1.QueueEvent {
|
|
15
|
+
constructor(UserUUID) {
|
|
16
|
+
super();
|
|
17
|
+
this.UserUUID = UserUUID;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
UserUnbanned = __decorate([
|
|
21
|
+
(0, queue_1.Event)(),
|
|
22
|
+
__metadata("design:paramtypes", [String])
|
|
23
|
+
], UserUnbanned);
|
|
24
|
+
exports.UserUnbanned = UserUnbanned;
|
|
25
|
+
//# sourceMappingURL=UserUnbanned.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserUnbanned.js","sourceRoot":"","sources":["../../src/events/UserUnbanned.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAGnD,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,kBAAU;IAC1C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;CACF,CAAA;AAJY,YAAY;IADxB,IAAA,aAAK,GAAE;;GACK,YAAY,CAIxB;AAJY,oCAAY"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './NewUser';
|
|
2
|
+
export * from './UserActivated';
|
|
3
|
+
export * from './UserBanned';
|
|
4
|
+
export * from './UserDeactivated';
|
|
5
|
+
export * from './UserDeleted';
|
|
6
|
+
export * from './UserMetadataAdded';
|
|
7
|
+
export * from './UserMetadataChanged';
|
|
8
|
+
export * from './UserMetadataDeleted';
|
|
9
|
+
export * from './UserPasswordChanged';
|
|
10
|
+
export * from './UserPropertyChanged';
|
|
11
|
+
export * from './UserRoleGranted';
|
|
12
|
+
export * from './UserRoleRevoked';
|
|
13
|
+
export * from './UserUnbanned';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./NewUser"), exports);
|
|
18
|
+
__exportStar(require("./UserActivated"), exports);
|
|
19
|
+
__exportStar(require("./UserBanned"), exports);
|
|
20
|
+
__exportStar(require("./UserDeactivated"), exports);
|
|
21
|
+
__exportStar(require("./UserDeleted"), exports);
|
|
22
|
+
__exportStar(require("./UserMetadataAdded"), exports);
|
|
23
|
+
__exportStar(require("./UserMetadataChanged"), exports);
|
|
24
|
+
__exportStar(require("./UserMetadataDeleted"), exports);
|
|
25
|
+
__exportStar(require("./UserPasswordChanged"), exports);
|
|
26
|
+
__exportStar(require("./UserPropertyChanged"), exports);
|
|
27
|
+
__exportStar(require("./UserRoleGranted"), exports);
|
|
28
|
+
__exportStar(require("./UserRoleRevoked"), exports);
|
|
29
|
+
__exportStar(require("./UserUnbanned"), exports);
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,kDAAgC;AAChC,+CAA6B;AAC7B,oDAAkC;AAClC,gDAA8B;AAC9B,sDAAoC;AACpC,wDAAsC;AACtC,wDAAsC;AACtC,wDAAsC;AACtC,wDAAsC;AACtC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B"}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export * from './password';
|
|
|
8
8
|
export * from './session';
|
|
9
9
|
export * from './models/User';
|
|
10
10
|
export * from './models/UserMetadata';
|
|
11
|
+
export * from './models/UserTimeline';
|
|
12
|
+
export * from './migrations/RBACInitial_2022_06_28_01_13_00';
|
|
13
|
+
export * from './events';
|
|
11
14
|
export { AccessControl } from 'accesscontrol';
|
|
12
15
|
export declare class RbacBootstrapper extends Bootstrapper {
|
|
13
16
|
bootstrap(): void;
|
package/lib/index.js
CHANGED
|
@@ -32,6 +32,9 @@ __exportStar(require("./password"), exports);
|
|
|
32
32
|
__exportStar(require("./session"), exports);
|
|
33
33
|
__exportStar(require("./models/User"), exports);
|
|
34
34
|
__exportStar(require("./models/UserMetadata"), exports);
|
|
35
|
+
__exportStar(require("./models/UserTimeline"), exports);
|
|
36
|
+
__exportStar(require("./migrations/RBACInitial_2022_06_28_01_13_00"), exports);
|
|
37
|
+
__exportStar(require("./events"), exports);
|
|
35
38
|
var accesscontrol_2 = require("accesscontrol");
|
|
36
39
|
Object.defineProperty(exports, "AccessControl", { enumerable: true, get: function () { return accesscontrol_2.AccessControl; } });
|
|
37
40
|
let RbacBootstrapper = class RbacBootstrapper extends di_1.Bootstrapper {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAuE;AACvE,kBAAgB;AAChB,sBAAoB;AACpB,qBAAmB;AACnB,iDAA8C;AAG9C,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,wDAAsC;AACtC,+CAA8C;AAArC,8GAAA,aAAa,OAAA;AAGtB,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,iBAAY;IACzC,SAAS;QACd,MAAM,EAAE,GAAG,IAAI,6BAAa,EAAE,CAAC;QAC/B,OAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,OAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,aAA4B,EAAE,EAAE;YAC3F,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE;gBACV,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAZY,gBAAgB;IAD5B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,gBAAgB,CAY5B;AAZY,4CAAgB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAuE;AACvE,kBAAgB;AAChB,sBAAoB;AACpB,qBAAmB;AACnB,iDAA8C;AAG9C,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,wDAAsC;AACtC,wDAAsC;AACtC,+EAA6D;AAC7D,2CAAyB;AACzB,+CAA8C;AAArC,8GAAA,aAAa,OAAA;AAGtB,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,iBAAY;IACzC,SAAS;QACd,MAAM,EAAE,GAAG,IAAI,6BAAa,EAAE,CAAC;QAC/B,OAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,OAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,aAA4B,EAAE,EAAE;YAC3F,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE;gBACV,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAZY,gBAAgB;IAD5B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,gBAAgB,CAY5B;AAZY,4CAAgB"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { User } from './models/User';
|
|
2
|
-
import {
|
|
2
|
+
import { AsyncService } from '@spinajs/di';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
4
|
export interface ISession {
|
|
5
5
|
/**
|
|
@@ -22,9 +22,9 @@ export interface ISession {
|
|
|
22
22
|
*
|
|
23
23
|
* Extends session lifetime
|
|
24
24
|
*
|
|
25
|
-
* @param
|
|
25
|
+
* @param seconds - how mutch to extend, if value not provided, default value from config is used
|
|
26
26
|
*/
|
|
27
|
-
extend(
|
|
27
|
+
extend(seconds?: number): void;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Service used for generating random password & for hash raw string
|
|
@@ -50,11 +50,101 @@ export declare abstract class PasswordProvider {
|
|
|
50
50
|
*/
|
|
51
51
|
abstract generate(): string;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Provides standard authentication based on login & password
|
|
55
|
+
*
|
|
56
|
+
* Unlike federated auth providers, it check local db for user,
|
|
57
|
+
* or some kind of other source
|
|
58
|
+
*/
|
|
53
59
|
export declare abstract class AuthProvider<U = User> {
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* Checks if user is already exists with given email
|
|
63
|
+
*
|
|
64
|
+
* @param emailOrUser - email or user object
|
|
65
|
+
*/
|
|
66
|
+
abstract exists(emailOrUser: U | string): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
*
|
|
69
|
+
* Authenticate user with login and pass, if succeded auth result contains user object
|
|
70
|
+
*
|
|
71
|
+
* @param login - user login
|
|
72
|
+
* @param password - user password
|
|
73
|
+
*/
|
|
74
|
+
abstract authenticate(login: string, password: string): Promise<IAuthenticationResult<U>>;
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* Checks if user is banned
|
|
78
|
+
*
|
|
79
|
+
* @param login - user login
|
|
80
|
+
*/
|
|
81
|
+
abstract isBanned(login: string): Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Checks if user is active
|
|
84
|
+
*
|
|
85
|
+
* @param login - user login
|
|
86
|
+
*/
|
|
87
|
+
abstract isActive(login: string): Promise<boolean>;
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
* Cheks if user is deleted
|
|
91
|
+
*
|
|
92
|
+
* @param login - user login
|
|
93
|
+
*/
|
|
94
|
+
abstract isDeleted(login: string): Promise<boolean>;
|
|
95
|
+
/**
|
|
96
|
+
*
|
|
97
|
+
* Gets user from auth store
|
|
98
|
+
*
|
|
99
|
+
* @param login - user login
|
|
100
|
+
*/
|
|
101
|
+
abstract getByLogin(login: string): Promise<U>;
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* Gets user from auth store
|
|
105
|
+
*
|
|
106
|
+
* @param email - user email
|
|
107
|
+
*/
|
|
108
|
+
abstract getByEmail(email: string): Promise<U>;
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* Gets user from auth store
|
|
112
|
+
*
|
|
113
|
+
* @param uuid - user uuid
|
|
114
|
+
*/
|
|
115
|
+
abstract getByUUID(uuid: string): Promise<U>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Used for implementign authentication with external services
|
|
119
|
+
* eg. slack or facebook that uses openid or similar auth
|
|
120
|
+
*
|
|
121
|
+
* NOTE: it should only authorize user, it should not register new one if
|
|
122
|
+
* not exists in use DB.
|
|
123
|
+
*/
|
|
124
|
+
export declare abstract class FederatedAuthProvider<C, U = User> {
|
|
125
|
+
/**
|
|
126
|
+
* Name of strategy
|
|
127
|
+
*/
|
|
128
|
+
abstract get Name(): string;
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* login service provides Host header for check
|
|
132
|
+
* whitch service is trying to authenticate
|
|
133
|
+
*
|
|
134
|
+
* Base on host adress we choose auth provider
|
|
135
|
+
*
|
|
136
|
+
* @param caller - caller url
|
|
137
|
+
*/
|
|
138
|
+
abstract callerCheck(caller: string): boolean;
|
|
139
|
+
/**
|
|
140
|
+
*
|
|
141
|
+
* Authenticates user based on response from external auth service
|
|
142
|
+
*
|
|
143
|
+
* @param credentials - provided credentials eg. data with token
|
|
144
|
+
*/
|
|
145
|
+
abstract authenticate(credentials: C): Promise<IAuthenticationResult<U>>;
|
|
56
146
|
}
|
|
57
|
-
export declare abstract class SessionProvider<T = ISession> extends
|
|
147
|
+
export declare abstract class SessionProvider<T = ISession> extends AsyncService {
|
|
58
148
|
/**
|
|
59
149
|
*
|
|
60
150
|
* Load session from store. If not exists or expired returns null
|
|
@@ -76,4 +166,59 @@ export declare abstract class SessionProvider<T = ISession> extends AsyncModule
|
|
|
76
166
|
* @param session - session to update / insert
|
|
77
167
|
*/
|
|
78
168
|
abstract save(session: ISession): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
*
|
|
171
|
+
* Updates session data for given id
|
|
172
|
+
*
|
|
173
|
+
* @param id - session id
|
|
174
|
+
* @param data - key - value pair of data
|
|
175
|
+
*/
|
|
176
|
+
abstract save(id: string, data: object): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
*
|
|
179
|
+
* Updates only EXPIRATION TIME of session, not changing other data
|
|
180
|
+
*
|
|
181
|
+
* @param session - session to update
|
|
182
|
+
*/
|
|
183
|
+
abstract touch(session: ISession): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
*
|
|
186
|
+
* Deletes all session table data
|
|
187
|
+
*
|
|
188
|
+
*/
|
|
189
|
+
abstract truncate(): Promise<void>;
|
|
190
|
+
}
|
|
191
|
+
export declare enum AthenticationErrorCodes {
|
|
192
|
+
E_USER_BANNED = "E_USER_BANNED",
|
|
193
|
+
E_USER_NOT_ACTIVE = "E_USER_NOT_ACTIVE",
|
|
194
|
+
E_INVALID_CREDENTIALS = "E_INVALID_CREDENTIALS",
|
|
195
|
+
E_LOGIN_ATTEMPTS_EXCEEDED = "E_LOGIN_ATTEMPTS_EXCEEDED"
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Authentication result
|
|
199
|
+
*/
|
|
200
|
+
export interface IAuthenticationResult<U = User> {
|
|
201
|
+
/**
|
|
202
|
+
* If auth is succeded, user field is not null
|
|
203
|
+
*/
|
|
204
|
+
User?: U;
|
|
205
|
+
/**
|
|
206
|
+
* If result failed, Error field is not null
|
|
207
|
+
*/
|
|
208
|
+
Error?: {
|
|
209
|
+
/**
|
|
210
|
+
* Error code eg E_IS_BANNED
|
|
211
|
+
*/
|
|
212
|
+
Code: string | AthenticationErrorCodes;
|
|
213
|
+
/**
|
|
214
|
+
* Optional message
|
|
215
|
+
*/
|
|
216
|
+
Message?: string;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Interface to provide implementation of password rule validation
|
|
221
|
+
*/
|
|
222
|
+
export declare abstract class PasswordValidationProvider {
|
|
223
|
+
abstract check(password: string): boolean;
|
|
79
224
|
}
|