@serene-dev/la-nest-library 0.0.70 → 0.0.72
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/dist/libs/la-library/src/entities/token-session.entity.d.ts +4 -5
- package/dist/libs/la-library/src/entities/token-session.entity.js +6 -10
- package/dist/libs/la-library/src/entities/token-session.entity.js.map +1 -1
- package/dist/libs/la-library/src/enums/base.enum.d.ts +1 -0
- package/dist/libs/la-library/src/enums/base.enum.js +1 -0
- package/dist/libs/la-library/src/enums/base.enum.js.map +1 -1
- package/dist/libs/la-library/src/index.d.ts +4 -3
- package/dist/libs/la-library/src/index.js +10 -7
- package/dist/libs/la-library/src/index.js.map +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication-session.entity.d.ts +3 -0
- package/dist/libs/la-library/src/modules/authentication/authentication-session.entity.js +19 -0
- package/dist/libs/la-library/src/modules/authentication/authentication-session.entity.js.map +1 -0
- package/dist/libs/la-library/src/modules/authentication/authentication.dto.d.ts +4 -4
- package/dist/libs/la-library/src/modules/authentication/authentication.dto.js +5 -5
- package/dist/libs/la-library/src/modules/authentication/authentication.dto.js.map +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication.enum.d.ts +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication.enum.js +7 -7
- package/dist/libs/la-library/src/modules/authentication/authentication.enum.js.map +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication.guard.d.ts +1 -0
- package/dist/libs/la-library/src/modules/authentication/authentication.guard.js +5 -2
- package/dist/libs/la-library/src/modules/authentication/authentication.guard.js.map +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication.module.d.ts +2 -2
- package/dist/libs/la-library/src/modules/authentication/authentication.module.js +3 -3
- package/dist/libs/la-library/src/modules/authentication/authentication.module.js.map +1 -1
- package/dist/libs/la-library/src/modules/authentication/authentication.service.d.ts +8 -8
- package/dist/libs/la-library/src/modules/authentication/authentication.service.js +16 -17
- package/dist/libs/la-library/src/modules/authentication/authentication.service.js.map +1 -1
- package/dist/libs/la-library/src/services/token.service.d.ts +8 -0
- package/dist/libs/la-library/src/services/token.service.js +29 -1
- package/dist/libs/la-library/src/services/token.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { BaseEntity } from './base.entity';
|
|
2
|
-
import {
|
|
2
|
+
import { ETokenDropType } from '../modules/authentication/authentication.enum';
|
|
3
3
|
export declare class TokenSessionEntity extends BaseEntity {
|
|
4
|
-
loginDate: number;
|
|
5
4
|
token: string;
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
forcedDrop: boolean;
|
|
6
|
+
dropReason: ETokenDropType;
|
|
8
7
|
active: boolean;
|
|
9
8
|
ownerID?: string;
|
|
10
|
-
|
|
9
|
+
droppedDate: string;
|
|
11
10
|
}
|
|
@@ -17,10 +17,6 @@ const authentication_enum_1 = require("../modules/authentication/authentication.
|
|
|
17
17
|
let TokenSessionEntity = class TokenSessionEntity extends base_entity_1.BaseEntity {
|
|
18
18
|
};
|
|
19
19
|
exports.TokenSessionEntity = TokenSessionEntity;
|
|
20
|
-
__decorate([
|
|
21
|
-
(0, typeorm_1.Column)({ type: 'double' }),
|
|
22
|
-
__metadata("design:type", Number)
|
|
23
|
-
], TokenSessionEntity.prototype, "loginDate", void 0);
|
|
24
20
|
__decorate([
|
|
25
21
|
(0, typeorm_1.Column)({ type: 'text' }),
|
|
26
22
|
__metadata("design:type", String)
|
|
@@ -28,11 +24,11 @@ __decorate([
|
|
|
28
24
|
__decorate([
|
|
29
25
|
(0, typeorm_1.Column)({ type: 'boolean', default: false }),
|
|
30
26
|
__metadata("design:type", Boolean)
|
|
31
|
-
], TokenSessionEntity.prototype, "
|
|
27
|
+
], TokenSessionEntity.prototype, "forcedDrop", void 0);
|
|
32
28
|
__decorate([
|
|
33
|
-
(0, typeorm_1.Column)({ type: 'enum', enum: authentication_enum_1.
|
|
29
|
+
(0, typeorm_1.Column)({ type: 'enum', enum: authentication_enum_1.ETokenDropType, nullable: true }),
|
|
34
30
|
__metadata("design:type", String)
|
|
35
|
-
], TokenSessionEntity.prototype, "
|
|
31
|
+
], TokenSessionEntity.prototype, "dropReason", void 0);
|
|
36
32
|
__decorate([
|
|
37
33
|
(0, typeorm_1.Column)({ type: 'boolean', default: true }),
|
|
38
34
|
__metadata("design:type", Boolean)
|
|
@@ -42,9 +38,9 @@ __decorate([
|
|
|
42
38
|
__metadata("design:type", String)
|
|
43
39
|
], TokenSessionEntity.prototype, "ownerID", void 0);
|
|
44
40
|
__decorate([
|
|
45
|
-
(0, typeorm_1.Column)({ type: '
|
|
46
|
-
__metadata("design:type",
|
|
47
|
-
], TokenSessionEntity.prototype, "
|
|
41
|
+
(0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], TokenSessionEntity.prototype, "droppedDate", void 0);
|
|
48
44
|
exports.TokenSessionEntity = TokenSessionEntity = __decorate([
|
|
49
45
|
(0, typeorm_1.Entity)(base_enum_1.ETableName.tokenSession)
|
|
50
46
|
], TokenSessionEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-session.entity.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/entities/token-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,kDAAgD;AAChD,+CAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"token-session.entity.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/entities/token-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,kDAAgD;AAChD,+CAA2C;AAC3C,uFAA+E;AAGxE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,wBAAU;CAkBjD,CAAA;AAlBY,gDAAkB;AAE7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACX;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sDACxB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACpC;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;kDAC3B;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACxB;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC1B;6BAjBT,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,sBAAU,CAAC,YAAY,CAAC;GACnB,kBAAkB,CAkB9B"}
|
|
@@ -10,6 +10,7 @@ var ETableName;
|
|
|
10
10
|
ETableName["listOptions"] = "lists_options";
|
|
11
11
|
ETableName["authentication"] = "authentication";
|
|
12
12
|
ETableName["tokenSession"] = "token_session";
|
|
13
|
+
ETableName["authSession"] = "authentication_session";
|
|
13
14
|
ETableName["fileBin"] = "file_bin";
|
|
14
15
|
ETableName["user"] = "user";
|
|
15
16
|
})(ETableName || (exports.ETableName = ETableName = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.enum.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/enums/base.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"base.enum.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/enums/base.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,2CAA6B,CAAA;IAC7B,+CAAiC,CAAA;IACjC,4CAA8B,CAAA;IAC9B,oDAAsC,CAAA;IACtC,kCAAoB,CAAA;IACpB,2BAAa,CAAA;AACf,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAED,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,wBAAa,CAAA;AACf,CAAC,EAFW,OAAO,uBAAP,OAAO,QAElB"}
|
|
@@ -2,16 +2,17 @@ export * from './la-library.module';
|
|
|
2
2
|
export { SDKConfig } from './configs/index.config';
|
|
3
3
|
export { SDKEnvironmentService, ISDKEnvironment, } from './services/environment.service';
|
|
4
4
|
export { ERefCat as SDKERefCat, ETableName as SDKETableName, } from './enums/base.enum';
|
|
5
|
-
export { TokenService as SDKTokenService } from './services/token.service';
|
|
6
5
|
export { UtilityClass as SDKUtilityClass } from './services/utility.service';
|
|
7
6
|
export { MailService } from './services/mail.service';
|
|
7
|
+
export { TokenService as SDKTokenService, TokenSessionService as SDKTokenSessionService, } from './services/token.service';
|
|
8
|
+
export { TokenSessionEntity as SDKTokenSessionEntity } from './entities/token-session.entity';
|
|
8
9
|
export { AuthenticationModule as SDKAuthenticationModule } from './modules/authentication/authentication.module';
|
|
9
10
|
export { AuthenticationGuard as SDKAuthenticationGuard, PublicAuth as SDKPublicAuth, AuthParam, } from './modules/authentication/authentication.guard';
|
|
10
|
-
export { AuthenticationService as SDKAuthenticationService,
|
|
11
|
+
export { AuthenticationService as SDKAuthenticationService, AuthSessionService as SDKAuthenticationSessionService, } from './modules/authentication/authentication.service';
|
|
11
12
|
export { AuthenticationController as SDKAuthenticationController } from './modules/authentication/authentication.controller';
|
|
12
13
|
export { AuthEntity as SDKAuthEntity } from './modules/authentication/authentication.entity';
|
|
14
|
+
export { AuthSessionEntity as SDKAuthSessionEntity } from './modules/authentication/authentication-session.entity';
|
|
13
15
|
export * from './modules/authentication/authentication.interface';
|
|
14
|
-
export { TokenSessionEntity as SDKTokenSessionEntity } from './entities/token-session.entity';
|
|
15
16
|
export * from './modules/authentication/authentication.enum';
|
|
16
17
|
export { LoginDTO as SDKLoginDTO, LogoutDTO as SDKLogoutDTO, RegisterDTO as SDKRegisterDTO, SystemLogoutDTO as SDKSystemLogoutDTO, ToggleAuthDTO as SDKToggleAuthDTO, } from './modules/authentication/authentication.dto';
|
|
17
18
|
export { BaseController as SDKBaseController } from './controllers/base.controller';
|
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.ESortOrder = exports.ESearchCondition = exports.SDKSearchService = exports.SearchQueryDto = exports.SDKFileUploadDto = exports.SDKFileUpdateDto = exports.SDKFileSearchDto = void 0;
|
|
17
|
+
exports.SDKListOptionsEntity = exports.SDKListsController = exports.SDKSaveListOption = exports.SDKSaveListGroupDTO = exports.SDKListsService = exports.SDKListsModule = exports.SDKLogEntity = exports.SDKLogsController = exports.SDKLogCreateSingleDTO = exports.SDKLogCreateMultipleDTO = exports.SDKLogSerarchDTO = exports.SDKLogsService = exports.SDKLogsModule = exports.stream = exports.logger = exports.SDKLikesService = exports.SDKFileService = exports.FileEntity = exports.FileBinEntity = exports.LikesEntity = exports.SDKFileController = exports.SDKEFileSizeUnit = exports.SDKSample = exports.SDKBaseDto = exports.BaseEntity = exports.SDKBaseService = exports.SDKBaseController = exports.SDKToggleAuthDTO = exports.SDKSystemLogoutDTO = exports.SDKRegisterDTO = exports.SDKLogoutDTO = exports.SDKLoginDTO = exports.SDKAuthSessionEntity = exports.SDKAuthEntity = exports.SDKAuthenticationController = exports.SDKAuthenticationSessionService = exports.SDKAuthenticationService = exports.AuthParam = exports.SDKPublicAuth = exports.SDKAuthenticationGuard = exports.SDKAuthenticationModule = exports.SDKTokenSessionEntity = exports.SDKTokenSessionService = exports.SDKTokenService = exports.MailService = exports.SDKUtilityClass = exports.SDKETableName = exports.SDKERefCat = exports.SDKEnvironmentService = exports.SDKConfig = void 0;
|
|
18
|
+
exports.ESortOrder = exports.ESearchCondition = exports.SDKSearchService = exports.SearchQueryDto = exports.SDKFileUploadDto = exports.SDKFileUpdateDto = exports.SDKFileSearchDto = exports.SDKFileActionDto = exports.SDKListsEntity = void 0;
|
|
19
19
|
__exportStar(require("./la-library.module"), exports);
|
|
20
20
|
var index_config_1 = require("./configs/index.config");
|
|
21
21
|
Object.defineProperty(exports, "SDKConfig", { enumerable: true, get: function () { return index_config_1.SDKConfig; } });
|
|
@@ -24,12 +24,15 @@ Object.defineProperty(exports, "SDKEnvironmentService", { enumerable: true, get:
|
|
|
24
24
|
var base_enum_1 = require("./enums/base.enum");
|
|
25
25
|
Object.defineProperty(exports, "SDKERefCat", { enumerable: true, get: function () { return base_enum_1.ERefCat; } });
|
|
26
26
|
Object.defineProperty(exports, "SDKETableName", { enumerable: true, get: function () { return base_enum_1.ETableName; } });
|
|
27
|
-
var token_service_1 = require("./services/token.service");
|
|
28
|
-
Object.defineProperty(exports, "SDKTokenService", { enumerable: true, get: function () { return token_service_1.TokenService; } });
|
|
29
27
|
var utility_service_1 = require("./services/utility.service");
|
|
30
28
|
Object.defineProperty(exports, "SDKUtilityClass", { enumerable: true, get: function () { return utility_service_1.UtilityClass; } });
|
|
31
29
|
var mail_service_1 = require("./services/mail.service");
|
|
32
30
|
Object.defineProperty(exports, "MailService", { enumerable: true, get: function () { return mail_service_1.MailService; } });
|
|
31
|
+
var token_service_1 = require("./services/token.service");
|
|
32
|
+
Object.defineProperty(exports, "SDKTokenService", { enumerable: true, get: function () { return token_service_1.TokenService; } });
|
|
33
|
+
Object.defineProperty(exports, "SDKTokenSessionService", { enumerable: true, get: function () { return token_service_1.TokenSessionService; } });
|
|
34
|
+
var token_session_entity_1 = require("./entities/token-session.entity");
|
|
35
|
+
Object.defineProperty(exports, "SDKTokenSessionEntity", { enumerable: true, get: function () { return token_session_entity_1.TokenSessionEntity; } });
|
|
33
36
|
var authentication_module_1 = require("./modules/authentication/authentication.module");
|
|
34
37
|
Object.defineProperty(exports, "SDKAuthenticationModule", { enumerable: true, get: function () { return authentication_module_1.AuthenticationModule; } });
|
|
35
38
|
var authentication_guard_1 = require("./modules/authentication/authentication.guard");
|
|
@@ -38,14 +41,14 @@ Object.defineProperty(exports, "SDKPublicAuth", { enumerable: true, get: functio
|
|
|
38
41
|
Object.defineProperty(exports, "AuthParam", { enumerable: true, get: function () { return authentication_guard_1.AuthParam; } });
|
|
39
42
|
var authentication_service_1 = require("./modules/authentication/authentication.service");
|
|
40
43
|
Object.defineProperty(exports, "SDKAuthenticationService", { enumerable: true, get: function () { return authentication_service_1.AuthenticationService; } });
|
|
41
|
-
Object.defineProperty(exports, "SDKAuthenticationSessionService", { enumerable: true, get: function () { return authentication_service_1.
|
|
44
|
+
Object.defineProperty(exports, "SDKAuthenticationSessionService", { enumerable: true, get: function () { return authentication_service_1.AuthSessionService; } });
|
|
42
45
|
var authentication_controller_1 = require("./modules/authentication/authentication.controller");
|
|
43
46
|
Object.defineProperty(exports, "SDKAuthenticationController", { enumerable: true, get: function () { return authentication_controller_1.AuthenticationController; } });
|
|
44
47
|
var authentication_entity_1 = require("./modules/authentication/authentication.entity");
|
|
45
48
|
Object.defineProperty(exports, "SDKAuthEntity", { enumerable: true, get: function () { return authentication_entity_1.AuthEntity; } });
|
|
49
|
+
var authentication_session_entity_1 = require("./modules/authentication/authentication-session.entity");
|
|
50
|
+
Object.defineProperty(exports, "SDKAuthSessionEntity", { enumerable: true, get: function () { return authentication_session_entity_1.AuthSessionEntity; } });
|
|
46
51
|
__exportStar(require("./modules/authentication/authentication.interface"), exports);
|
|
47
|
-
var token_session_entity_1 = require("./entities/token-session.entity");
|
|
48
|
-
Object.defineProperty(exports, "SDKTokenSessionEntity", { enumerable: true, get: function () { return token_session_entity_1.TokenSessionEntity; } });
|
|
49
52
|
__exportStar(require("./modules/authentication/authentication.enum"), exports);
|
|
50
53
|
var authentication_dto_1 = require("./modules/authentication/authentication.dto");
|
|
51
54
|
Object.defineProperty(exports, "SDKLoginDTO", { enumerable: true, get: function () { return authentication_dto_1.LoginDTO; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/la-library/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sDAAoC;AAEpC,uDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAClB,sEAGwC;AAFtC,4HAAA,qBAAqB,OAAA;AAGvB,+CAG2B;AAFzB,uGAAA,OAAO,OAAc;AACrB,0GAAA,UAAU,OAAiB;AAE7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/la-library/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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.AuthSessionEntity = void 0;
|
|
10
|
+
const typeorm_1 = require("typeorm");
|
|
11
|
+
const base_enum_1 = require("../../enums/base.enum");
|
|
12
|
+
const token_session_entity_1 = require("../../entities/token-session.entity");
|
|
13
|
+
let AuthSessionEntity = class AuthSessionEntity extends token_session_entity_1.TokenSessionEntity {
|
|
14
|
+
};
|
|
15
|
+
exports.AuthSessionEntity = AuthSessionEntity;
|
|
16
|
+
exports.AuthSessionEntity = AuthSessionEntity = __decorate([
|
|
17
|
+
(0, typeorm_1.Entity)(base_enum_1.ETableName.authentication)
|
|
18
|
+
], AuthSessionEntity);
|
|
19
|
+
//# sourceMappingURL=authentication-session.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication-session.entity.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication-session.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qCAAiC;AACjC,qDAAmD;AACnD,8EAAyE;AAGlE,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,yCAAkB;CAAG,CAAA;AAA/C,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,gBAAM,EAAC,sBAAU,CAAC,cAAc,CAAC;GACrB,iBAAiB,CAA8B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AuthEntity } from './authentication.entity';
|
|
2
|
-
import {
|
|
2
|
+
import { ETokenDropType } from './authentication.enum';
|
|
3
3
|
import { TokenSessionEntity } from '../../entities/token-session.entity';
|
|
4
4
|
declare class AuthBaseDTO implements Partial<AuthEntity> {
|
|
5
5
|
type?: string;
|
|
@@ -15,14 +15,14 @@ export declare class LoginDTO extends AuthBaseDTO implements Partial<AuthEntity>
|
|
|
15
15
|
}
|
|
16
16
|
export declare class LogoutDTO implements Partial<TokenSessionEntity> {
|
|
17
17
|
token: string;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
dropReason?: ETokenDropType;
|
|
19
|
+
forcedDrop?: boolean;
|
|
20
20
|
}
|
|
21
21
|
export declare class ToggleAuthDTO {
|
|
22
22
|
active?: boolean;
|
|
23
23
|
}
|
|
24
24
|
export declare class SystemLogoutDTO implements Partial<TokenSessionEntity> {
|
|
25
25
|
ownerID: string;
|
|
26
|
-
|
|
26
|
+
dropReason: ETokenDropType;
|
|
27
27
|
}
|
|
28
28
|
export {};
|
|
@@ -74,13 +74,13 @@ __decorate([
|
|
|
74
74
|
__metadata("design:type", String)
|
|
75
75
|
], SystemLogoutDTO.prototype, "ownerID", void 0);
|
|
76
76
|
__decorate([
|
|
77
|
-
(0, class_validator_1.IsEnum)(authentication_enum_1.
|
|
77
|
+
(0, class_validator_1.IsEnum)(authentication_enum_1.ETokenDropType),
|
|
78
78
|
(0, swagger_1.ApiProperty)({
|
|
79
|
-
type: authentication_enum_1.
|
|
80
|
-
enum: authentication_enum_1.
|
|
81
|
-
default: authentication_enum_1.
|
|
79
|
+
type: authentication_enum_1.ETokenDropType,
|
|
80
|
+
enum: authentication_enum_1.ETokenDropType,
|
|
81
|
+
default: authentication_enum_1.ETokenDropType.reset,
|
|
82
82
|
required: true,
|
|
83
83
|
}),
|
|
84
84
|
__metadata("design:type", String)
|
|
85
|
-
], SystemLogoutDTO.prototype, "
|
|
85
|
+
], SystemLogoutDTO.prototype, "dropReason", void 0);
|
|
86
86
|
//# sourceMappingURL=authentication.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.dto.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AAEzB,+
|
|
1
|
+
{"version":3,"file":"authentication.dto.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AAEzB,+DAAuD;AACvD,6CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,WAAW;CAUhB;AAJC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0CACzD;AAGf;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACxD;AAGjB,MAAa,WAAY,SAAQ,WAAW;CAQ3C;AARD,kCAQC;AALC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACxD;AAIlB;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CACjC;AAGjB,MAAa,QAAS,SAAQ,WAAW;CAIxC;AAJD,4BAIC;AADC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACxD;AAGpB,MAAa,SAAS;CAMrB;AAND,8BAMC;AAHC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAClC;AAKhB,MAAa,aAAa;CAIzB;AAJD,sCAIC;AADC;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAChC;AAGnB,MAAa,eAAe;CAY3B;AAZD,0CAYC;AATC;IAFC,IAAA,wBAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAChC;AAQhB;IAPC,IAAA,wBAAM,EAAC,oCAAc,CAAC;IACtB,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,oCAAc;QACpB,IAAI,EAAE,oCAAc;QACpB,OAAO,EAAE,oCAAc,CAAC,KAAK;QAC7B,QAAQ,EAAE,IAAI;KACf,CAAC;;mDACyB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
(function (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})(
|
|
3
|
+
exports.ETokenDropType = void 0;
|
|
4
|
+
var ETokenDropType;
|
|
5
|
+
(function (ETokenDropType) {
|
|
6
|
+
ETokenDropType["expiration"] = "expiration";
|
|
7
|
+
ETokenDropType["user"] = "user";
|
|
8
|
+
ETokenDropType["reset"] = "reset";
|
|
9
|
+
})(ETokenDropType || (exports.ETokenDropType = ETokenDropType = {}));
|
|
10
10
|
//# sourceMappingURL=authentication.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.enum.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,
|
|
1
|
+
{"version":3,"file":"authentication.enum.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
|
|
@@ -11,6 +11,7 @@ export declare class AuthenticationGuard implements CanActivate {
|
|
|
11
11
|
constructor(tokenService: TokenService, authS: AuthenticationService, reflector: Reflector);
|
|
12
12
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
13
13
|
private extractTokenFromHeader;
|
|
14
|
+
requestPatcher: (request: any, payload: any) => void;
|
|
14
15
|
static provideGuard(): {
|
|
15
16
|
provide: string;
|
|
16
17
|
useClass: typeof AuthenticationGuard;
|
|
@@ -24,6 +24,9 @@ let AuthenticationGuard = AuthenticationGuard_1 = class AuthenticationGuard {
|
|
|
24
24
|
this.authS = authS;
|
|
25
25
|
this.reflector = reflector;
|
|
26
26
|
this.skipEnvironment = 'dev';
|
|
27
|
+
this.requestPatcher = (request, payload) => {
|
|
28
|
+
request['user'] = payload;
|
|
29
|
+
};
|
|
27
30
|
}
|
|
28
31
|
async canActivate(context) {
|
|
29
32
|
const isPublic = this.reflector.getAllAndOverride(IS_PUBLIC_KEY, [
|
|
@@ -40,13 +43,13 @@ let AuthenticationGuard = AuthenticationGuard_1 = class AuthenticationGuard {
|
|
|
40
43
|
if (token) {
|
|
41
44
|
const payload = await this.tokenService.decryptToken(token);
|
|
42
45
|
payload.token = token;
|
|
43
|
-
request
|
|
46
|
+
this.requestPatcher(request, payload);
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
catch (error) {
|
|
47
50
|
this.authS.forceLogoutSingle({
|
|
48
51
|
token,
|
|
49
|
-
|
|
52
|
+
dropReason: authentication_enum_1.ETokenDropType.expiration,
|
|
50
53
|
});
|
|
51
54
|
throw new common_1.UnauthorizedException('Token Expired');
|
|
52
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.guard.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AAExB,gEAA4D;AAC5D,qEAAiE;AACjE,+
|
|
1
|
+
{"version":3,"file":"authentication.guard.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AAExB,gEAA4D;AAC5D,qEAAiE;AACjE,+DAAuD;AACvD,2CAA6C;AAC7C,uCAAoD;AACpD,4EAAyD;AAKlD,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAE9B,YACY,YAA0B,EAC1B,KAA4B,EAC5B,SAAoB;QAFpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAuB;QAC5B,cAAS,GAAT,SAAS,CAAW;QAJhC,oBAAe,GAA2B,KAAK,CAAC;QAwChD,mBAAc,GAAG,CAAC,OAAY,EAAE,OAAY,EAAE,EAAE;YAC9C,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC,CAAC;IArCC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,aAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,IAAI,yBAAG,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe;YACnD,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAa,KAAK,CAAC,CAAC;gBAExE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC3B,KAAK;gBACL,UAAU,EAAE,oCAAc,CAAC,UAAU;aACtC,CAAC,CAAC;YACH,MAAM,IAAI,8BAAqB,CAAC,eAAe,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAMD,MAAM,CAAC,YAAY;QACjB,OAAO;YACL,OAAO,EAAE,gBAAS;YAClB,QAAQ,EAAE,qBAAmB;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AAnDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAIe,4BAAY;QACnB,8CAAqB;QACjB,gBAAS;GALrB,mBAAmB,CAmD/B;AAED,MAAM,aAAa,GAAG,UAAU,CAAC;AAC1B,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAApD,QAAA,UAAU,cAA0C;AAEpD,QAAA,SAAS,GAAG,IAAA,6BAAoB,EAC3C,CAAC,IAAI,EAAE,GAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AuthEntity } from './authentication.entity';
|
|
2
2
|
import { BaseModule } from '../base.module';
|
|
3
|
-
import {
|
|
3
|
+
import { AuthSessionEntity } from './authentication-session.entity';
|
|
4
4
|
export declare class AuthenticationModule extends BaseModule {
|
|
5
|
-
static entities: (typeof AuthEntity | typeof
|
|
5
|
+
static entities: (typeof AuthEntity | typeof AuthSessionEntity)[];
|
|
6
6
|
}
|
|
@@ -16,19 +16,19 @@ const token_service_1 = require("../../services/token.service");
|
|
|
16
16
|
const jwt_1 = require("@nestjs/jwt");
|
|
17
17
|
const authentication_guard_1 = require("./authentication.guard");
|
|
18
18
|
const base_module_1 = require("../base.module");
|
|
19
|
-
const
|
|
19
|
+
const authentication_session_entity_1 = require("./authentication-session.entity");
|
|
20
20
|
const providers = [
|
|
21
21
|
jwt_1.JwtService,
|
|
22
22
|
token_service_1.TokenService,
|
|
23
23
|
authentication_service_1.AuthenticationService,
|
|
24
|
-
authentication_service_1.
|
|
24
|
+
authentication_service_1.AuthSessionService,
|
|
25
25
|
authentication_guard_1.AuthenticationGuard,
|
|
26
26
|
];
|
|
27
27
|
const controllers = [authentication_controller_1.AuthenticationController];
|
|
28
28
|
let AuthenticationModule = class AuthenticationModule extends base_module_1.BaseModule {
|
|
29
29
|
};
|
|
30
30
|
exports.AuthenticationModule = AuthenticationModule;
|
|
31
|
-
AuthenticationModule.entities = [authentication_entity_1.AuthEntity,
|
|
31
|
+
AuthenticationModule.entities = [authentication_entity_1.AuthEntity, authentication_session_entity_1.AuthSessionEntity];
|
|
32
32
|
exports.AuthenticationModule = AuthenticationModule = __decorate([
|
|
33
33
|
(0, common_1.Module)({
|
|
34
34
|
imports: [typeorm_1.TypeOrmModule.forFeature(AuthenticationModule.entities)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.module.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAGkC;AAClC,2EAAuE;AACvE,mEAAqD;AACrD,6CAAgD;AAChD,gEAA4D;AAC5D,qCAAyC;AACzC,iEAA6D;AAC7D,gDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"authentication.module.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAGkC;AAClC,2EAAuE;AACvE,mEAAqD;AACrD,6CAAgD;AAChD,gEAA4D;AAC5D,qCAAyC;AACzC,iEAA6D;AAC7D,gDAA4C;AAC5C,mFAAoE;AAEpE,MAAM,SAAS,GAAG;IAChB,gBAAU;IACV,4BAAY;IACZ,8CAAqB;IACrB,2CAAkB;IAClB,0CAAmB;CACpB,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,oDAAwB,CAAC,CAAC;AAOxC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;;AAAvC,oDAAoB;AACxB,6BAAQ,GAAG,CAAC,kCAAU,EAAE,iDAAiB,CAAC,AAAlC,CAAmC;+BADvC,oBAAoB;IANhC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAClE,SAAS;QACT,WAAW;QACX,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;KACxB,CAAC;GACW,oBAAoB,CAEhC"}
|
|
@@ -3,19 +3,19 @@ import { AuthEntity } from './authentication.entity';
|
|
|
3
3
|
import { LoginDTO, LogoutDTO, RegisterDTO, SystemLogoutDTO, ToggleAuthDTO } from './authentication.dto';
|
|
4
4
|
import { Repository } from 'typeorm';
|
|
5
5
|
import { TokenService } from '../../services/token.service';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
export declare class
|
|
9
|
-
protected readonly repo: Repository<
|
|
10
|
-
constructor(repo: Repository<
|
|
6
|
+
import { ETokenDropType } from './authentication.enum';
|
|
7
|
+
import { AuthSessionEntity } from './authentication-session.entity';
|
|
8
|
+
export declare class AuthSessionService extends BaseService<AuthSessionEntity> {
|
|
9
|
+
protected readonly repo: Repository<AuthSessionEntity>;
|
|
10
|
+
constructor(repo: Repository<AuthSessionEntity>);
|
|
11
11
|
}
|
|
12
12
|
export declare class AuthenticationService<TEntity extends AuthEntity = AuthEntity> extends BaseService<TEntity> {
|
|
13
13
|
protected readonly repo: Repository<AuthEntity>;
|
|
14
14
|
protected readonly tokenService: TokenService;
|
|
15
|
-
protected authenticationSessionService:
|
|
15
|
+
protected authenticationSessionService: AuthSessionService;
|
|
16
16
|
static path: string;
|
|
17
17
|
readonly saltOrRounds = 10;
|
|
18
|
-
constructor(repo: Repository<AuthEntity>, tokenService: TokenService, authenticationSessionService:
|
|
18
|
+
constructor(repo: Repository<AuthEntity>, tokenService: TokenService, authenticationSessionService: AuthSessionService);
|
|
19
19
|
decryptToken(token: string, ignoreExpiration?: boolean): Promise<{
|
|
20
20
|
id: string;
|
|
21
21
|
}>;
|
|
@@ -26,7 +26,7 @@ export declare class AuthenticationService<TEntity extends AuthEntity = AuthEnti
|
|
|
26
26
|
forceLogout(body: SystemLogoutDTO): Promise<boolean>;
|
|
27
27
|
forceLogoutSingle(body: {
|
|
28
28
|
token: string;
|
|
29
|
-
|
|
29
|
+
dropReason: ETokenDropType;
|
|
30
30
|
}): Promise<boolean>;
|
|
31
31
|
logout(body: LogoutDTO): Promise<boolean>;
|
|
32
32
|
register(body: RegisterDTO): Promise<AuthEntity>;
|
|
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.AuthenticationService = exports.
|
|
15
|
+
exports.AuthenticationService = exports.AuthSessionService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const base_service_1 = require("../../services/base.service");
|
|
18
18
|
const authentication_entity_1 = require("./authentication.entity");
|
|
@@ -23,19 +23,19 @@ const utility_service_1 = require("../../services/utility.service");
|
|
|
23
23
|
const bcrypt = require("bcrypt");
|
|
24
24
|
const token_service_1 = require("../../services/token.service");
|
|
25
25
|
const authentication_enum_1 = require("./authentication.enum");
|
|
26
|
-
const
|
|
27
|
-
let
|
|
26
|
+
const authentication_session_entity_1 = require("./authentication-session.entity");
|
|
27
|
+
let AuthSessionService = class AuthSessionService extends base_service_1.BaseService {
|
|
28
28
|
constructor(repo) {
|
|
29
|
-
super(repo, base_enum_1.ETableName.
|
|
29
|
+
super(repo, base_enum_1.ETableName.authSession);
|
|
30
30
|
this.repo = repo;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
exports.
|
|
34
|
-
exports.
|
|
33
|
+
exports.AuthSessionService = AuthSessionService;
|
|
34
|
+
exports.AuthSessionService = AuthSessionService = __decorate([
|
|
35
35
|
(0, common_1.Injectable)(),
|
|
36
|
-
__param(0, (0, typeorm_2.InjectRepository)(
|
|
36
|
+
__param(0, (0, typeorm_2.InjectRepository)(authentication_session_entity_1.AuthSessionEntity)),
|
|
37
37
|
__metadata("design:paramtypes", [typeorm_1.Repository])
|
|
38
|
-
],
|
|
38
|
+
], AuthSessionService);
|
|
39
39
|
let AuthenticationService = class AuthenticationService extends base_service_1.BaseService {
|
|
40
40
|
constructor(repo, tokenService, authenticationSessionService) {
|
|
41
41
|
super(repo, base_enum_1.ETableName.authentication);
|
|
@@ -68,7 +68,6 @@ let AuthenticationService = class AuthenticationService extends base_service_1.B
|
|
|
68
68
|
found.token = (await this.generateToken(found)).token;
|
|
69
69
|
delete found.password;
|
|
70
70
|
this.authenticationSessionService._create({
|
|
71
|
-
loginDate: Date.now(),
|
|
72
71
|
token: found.token,
|
|
73
72
|
ownerID: found.id,
|
|
74
73
|
});
|
|
@@ -85,9 +84,9 @@ let AuthenticationService = class AuthenticationService extends base_service_1.B
|
|
|
85
84
|
await Promise.all(found.map((ses) => {
|
|
86
85
|
this.authenticationSessionService._updateByID(ses.id, {
|
|
87
86
|
...body,
|
|
88
|
-
|
|
87
|
+
forcedDrop: true,
|
|
89
88
|
active: false,
|
|
90
|
-
|
|
89
|
+
droppedDate: new Date().toISOString(),
|
|
91
90
|
});
|
|
92
91
|
}));
|
|
93
92
|
return true;
|
|
@@ -95,8 +94,8 @@ let AuthenticationService = class AuthenticationService extends base_service_1.B
|
|
|
95
94
|
async forceLogoutSingle(body) {
|
|
96
95
|
return this.logout({
|
|
97
96
|
...body,
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
forcedDrop: true,
|
|
98
|
+
dropReason: body.dropReason,
|
|
100
99
|
});
|
|
101
100
|
}
|
|
102
101
|
async logout(body) {
|
|
@@ -109,9 +108,9 @@ let AuthenticationService = class AuthenticationService extends base_service_1.B
|
|
|
109
108
|
this.authenticationSessionService._updateByID(found.id, {
|
|
110
109
|
...body,
|
|
111
110
|
active: false,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
forcedDrop: body.forcedDrop || false,
|
|
112
|
+
dropReason: body.dropReason || authentication_enum_1.ETokenDropType.user,
|
|
113
|
+
droppedDate: new Date().toISOString(),
|
|
115
114
|
});
|
|
116
115
|
return true;
|
|
117
116
|
}
|
|
@@ -143,6 +142,6 @@ exports.AuthenticationService = AuthenticationService = __decorate([
|
|
|
143
142
|
__param(0, (0, typeorm_2.InjectRepository)(authentication_entity_1.AuthEntity)),
|
|
144
143
|
__metadata("design:paramtypes", [typeorm_1.Repository,
|
|
145
144
|
token_service_1.TokenService,
|
|
146
|
-
|
|
145
|
+
AuthSessionService])
|
|
147
146
|
], AuthenticationService);
|
|
148
147
|
//# sourceMappingURL=authentication.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,8DAA0D;AAC1D,mEAAqD;AAQrD,qDAAmD;AACnD,qCAAqC;AACrC,6CAAmD;AACnD,oEAA8D;AAC9D,iCAAiC;AACjC,gEAA4D;AAC5D,+
|
|
1
|
+
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../../../../libs/la-library/src/modules/authentication/authentication.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { JwtService, JwtSignOptions } from '@nestjs/jwt';
|
|
2
|
+
import { Repository } from 'typeorm';
|
|
3
|
+
import { TokenSessionEntity } from '../entities/token-session.entity';
|
|
4
|
+
import { BaseService } from './base.service';
|
|
2
5
|
export declare class TokenService {
|
|
3
6
|
protected jwtService: JwtService;
|
|
4
7
|
constructor(jwtService: JwtService);
|
|
@@ -9,3 +12,8 @@ export declare class TokenService {
|
|
|
9
12
|
ignoreExpiration?: boolean;
|
|
10
13
|
}): Promise<TData>;
|
|
11
14
|
}
|
|
15
|
+
export declare class TokenSessionService extends BaseService<TokenSessionEntity> {
|
|
16
|
+
protected readonly repo: Repository<TokenSessionEntity>;
|
|
17
|
+
constructor(repo: Repository<TokenSessionEntity>);
|
|
18
|
+
drop(param: Partial<TokenSessionEntity>): Promise<TokenSessionEntity | import("typeorm").UpdateResult | import("typeorm").UpdateResult[]>;
|
|
19
|
+
}
|
|
@@ -8,12 +8,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TokenService = void 0;
|
|
15
|
+
exports.TokenSessionService = exports.TokenService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
14
17
|
const jwt_1 = require("@nestjs/jwt");
|
|
15
18
|
const utility_service_1 = require("./utility.service");
|
|
16
19
|
const environment_service_1 = require("./environment.service");
|
|
20
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
21
|
+
const typeorm_2 = require("typeorm");
|
|
22
|
+
const token_session_entity_1 = require("../entities/token-session.entity");
|
|
23
|
+
const base_enum_1 = require("../enums/base.enum");
|
|
24
|
+
const base_service_1 = require("./base.service");
|
|
17
25
|
let TokenService = class TokenService {
|
|
18
26
|
constructor(jwtService) {
|
|
19
27
|
this.jwtService = jwtService;
|
|
@@ -46,4 +54,24 @@ exports.TokenService = TokenService = __decorate([
|
|
|
46
54
|
(0, common_1.Injectable)(),
|
|
47
55
|
__metadata("design:paramtypes", [jwt_1.JwtService])
|
|
48
56
|
], TokenService);
|
|
57
|
+
let TokenSessionService = class TokenSessionService extends base_service_1.BaseService {
|
|
58
|
+
constructor(repo) {
|
|
59
|
+
super(repo, base_enum_1.ETableName.tokenSession);
|
|
60
|
+
this.repo = repo;
|
|
61
|
+
}
|
|
62
|
+
async drop(param) {
|
|
63
|
+
if (param.id)
|
|
64
|
+
return this._updateByID(param.id, param);
|
|
65
|
+
else if (param.token)
|
|
66
|
+
return this.repo.update({ token: param.token }, param);
|
|
67
|
+
else if (param.ownerID)
|
|
68
|
+
return Promise.all((await this.getAllIDs({ ownerID: param.ownerID })).map((id) => this.repo.update({ id }, param)));
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.TokenSessionService = TokenSessionService;
|
|
72
|
+
exports.TokenSessionService = TokenSessionService = __decorate([
|
|
73
|
+
(0, common_1.Injectable)(),
|
|
74
|
+
__param(0, (0, typeorm_1.InjectRepository)(token_session_entity_1.TokenSessionEntity)),
|
|
75
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
76
|
+
], TokenSessionService);
|
|
49
77
|
//# sourceMappingURL=token.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/services/token.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/services/token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyD;AACzD,uDAAiD;AACjD,+DAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AACrC,2EAAsE;AACtE,kDAAgD;AAChD,iDAA6C;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAAsB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEhD,KAAK,CAAC,aAAa,CAAU,OAAU,EAAE,OAAwB;QAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAiB,EAAE;YAC/D,MAAM,EAAE,yBAAG,CAAC,UAAU;YACtB,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,OAAwC;QAExC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAQ,KAAK,EAAE;gBACrD,MAAM,EAAE,yBAAG,CAAC,UAAU;gBACtB,GAAG,OAAO;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8BAAY,CAAC,UAAU,CAAC;gBACtB,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA7BY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEuB,gBAAU;GADjC,YAAY,CA6BxB;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,0BAA+B;IACtE,YAEqB,IAAoC;QAEvD,KAAK,CAAC,IAAI,EAAE,sBAAU,CAAC,YAAY,CAAC,CAAC;QAFlB,SAAI,GAAJ,IAAI,CAAgC;IAGzD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAkC;QAC3C,IAAI,KAAK,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aAClD,IAAI,KAAK,CAAC,KAAK;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;aACpD,IAAI,KAAK,CAAC,OAAO;YACpB,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAChC,CACF,CAAC;IACN,CAAC;CACF,CAAA;AAnBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,yCAAkB,CAAC,CAAA;qCACZ,oBAAU;GAH1B,mBAAmB,CAmB/B"}
|