@lenne.tech/nest-server 9.0.31 → 9.2.0
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/config.env.js +41 -2
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/filters/http-exception-log.filter.d.ts +4 -0
- package/dist/core/common/filters/http-exception-log.filter.js +30 -0
- package/dist/core/common/filters/http-exception-log.filter.js.map +1 -0
- package/dist/core/common/helpers/db.helper.d.ts +6 -2
- package/dist/core/common/helpers/db.helper.js +9 -4
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.d.ts +3 -0
- package/dist/core/common/helpers/input.helper.js +30 -1
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.d.ts +5 -0
- package/dist/core/common/interceptors/check-security.interceptor.js +47 -0
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +17 -6
- package/dist/core/common/interfaces/service-options.interface.d.ts +1 -0
- package/dist/core/common/models/core-model.model.d.ts +1 -0
- package/dist/core/common/models/core-model.model.js +3 -0
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/plugins/complexity.plugin.d.ts +9 -0
- package/dist/core/common/plugins/complexity.plugin.js +47 -0
- package/dist/core/common/plugins/complexity.plugin.js.map +1 -0
- package/dist/core/common/plugins/mongoose-id.plugin.d.ts +1 -2
- package/dist/core/common/plugins/mongoose-id.plugin.js +7 -2
- package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
- package/dist/core/common/services/config.service.d.ts +4 -4
- package/dist/core/common/services/config.service.js.map +1 -1
- package/dist/core/common/services/module.service.d.ts +5 -1
- package/dist/core/common/services/module.service.js +15 -3
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/modules/auth/core-auth.model.d.ts +4 -1
- package/dist/core/modules/auth/core-auth.model.js +12 -1
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.d.ts +3 -1
- package/dist/core/modules/auth/core-auth.module.js +7 -2
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +22 -2
- package/dist/core/modules/auth/core-auth.resolver.js +77 -9
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/guards/auth.guard.d.ts +1 -1
- package/dist/core/modules/auth/guards/auth.guard.js +9 -4
- package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/refresh-token.guard.d.ts +4 -0
- package/dist/core/modules/auth/guards/refresh-token.guard.js +18 -0
- package/dist/core/modules/auth/guards/refresh-token.guard.js.map +1 -0
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.d.ts +1 -0
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +5 -0
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.d.ts +1 -0
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +5 -0
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
- package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +3 -0
- package/dist/core/modules/auth/interfaces/jwt-payload.interface.d.ts +1 -1
- package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -0
- package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth.service.d.ts +23 -5
- package/dist/core/modules/auth/services/core-auth.service.js +121 -13
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.d.ts +12 -0
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +61 -0
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -0
- package/dist/core/modules/auth/{jwt.strategy.d.ts → strategies/jwt.strategy.d.ts} +4 -3
- package/dist/core/modules/auth/{jwt.strategy.js → strategies/jwt.strategy.js} +12 -5
- package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -0
- package/dist/core/modules/user/core-user.model.d.ts +2 -0
- package/dist/core/modules/user/core-user.model.js +12 -0
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +2 -2
- package/dist/core/modules/user/core-user.service.js +2 -2
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +12 -2
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/main.js +23 -0
- package/dist/main.js.map +1 -1
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/auth/auth.resolver.d.ts +13 -5
- package/dist/server/modules/auth/auth.resolver.js +21 -12
- package/dist/server/modules/auth/auth.resolver.js.map +1 -1
- package/dist/server/modules/auth/auth.service.d.ts +2 -1
- package/dist/server/modules/auth/auth.service.js +7 -48
- package/dist/server/modules/auth/auth.service.js.map +1 -1
- package/dist/server/modules/file/file.module.js +3 -3
- package/dist/server/modules/file/file.module.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +1 -0
- package/dist/server/modules/user/user.model.js +19 -0
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.service.js +1 -1
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/server/server.module.js +12 -1
- package/dist/server/server.module.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +32 -27
- package/src/config.env.ts +41 -2
- package/src/core/common/filters/http-exception-log.filter.ts +27 -0
- package/src/core/common/helpers/db.helper.ts +15 -5
- package/src/core/common/helpers/input.helper.ts +49 -0
- package/src/core/common/interceptors/check-security.interceptor.ts +51 -0
- package/src/core/common/interfaces/server-options.interface.ts +75 -30
- package/src/core/common/interfaces/service-options.interface.ts +4 -0
- package/src/core/common/models/core-model.model.ts +7 -0
- package/src/core/common/plugins/complexity.plugin.ts +31 -0
- package/src/core/common/plugins/mongoose-id.plugin.js +4 -2
- package/src/core/common/services/config.service.ts +4 -4
- package/src/core/common/services/module.service.ts +26 -4
- package/src/core/modules/auth/core-auth.model.ts +15 -2
- package/src/core/modules/auth/core-auth.module.ts +8 -2
- package/src/core/modules/auth/core-auth.resolver.ts +93 -10
- package/src/core/modules/auth/guards/auth.guard.ts +12 -5
- package/src/core/modules/auth/guards/refresh-token.guard.ts +5 -0
- package/src/core/modules/auth/guards/roles.guard.ts +1 -1
- package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +3 -0
- package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -0
- package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +15 -0
- package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +1 -1
- package/src/core/modules/auth/services/core-auth-user.service.ts +15 -0
- package/src/core/modules/auth/services/core-auth.service.ts +216 -18
- package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +56 -0
- package/src/core/modules/auth/{jwt.strategy.ts → strategies/jwt.strategy.ts} +16 -5
- package/src/core/modules/user/core-user.model.ts +17 -1
- package/src/core/modules/user/core-user.service.ts +2 -2
- package/src/core.module.ts +14 -2
- package/src/index.ts +6 -1
- package/src/main.ts +29 -0
- package/src/server/modules/auth/auth.model.ts +1 -1
- package/src/server/modules/auth/auth.resolver.ts +26 -8
- package/src/server/modules/auth/auth.service.ts +20 -61
- package/src/server/modules/file/file.module.ts +3 -3
- package/src/server/modules/user/user.model.ts +29 -0
- package/src/server/modules/user/user.service.ts +1 -1
- package/src/server/server.module.ts +12 -1
- package/dist/core/modules/auth/jwt.strategy.js.map +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ServiceOptions } from '../../../common/interfaces/service-options.interface';
|
|
2
2
|
import { ICoreAuthUser } from '../interfaces/core-auth-user.interface';
|
|
3
3
|
export declare abstract class CoreAuthUserService {
|
|
4
|
+
abstract create(input: any, serviceOptions?: ServiceOptions): Promise<ICoreAuthUser>;
|
|
5
|
+
abstract get(id: string, serviceOptions?: ServiceOptions): Promise<ICoreAuthUser>;
|
|
4
6
|
abstract getViaEmail(email: string, serviceOptions?: ServiceOptions): Promise<ICoreAuthUser>;
|
|
5
7
|
abstract prepareOutput(output: any, options?: ServiceOptions): Promise<ICoreAuthUser>;
|
|
8
|
+
abstract update(id: string, input: any, serviceOptions?: ServiceOptions): Promise<ICoreAuthUser>;
|
|
6
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth-user.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth-user.service.ts"],"names":[],"mappings":";;;AAMA,MAAsB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"core-auth-user.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth-user.service.ts"],"names":[],"mappings":";;;AAMA,MAAsB,mBAAmB;CAyBxC;AAzBD,kDAyBC"}
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import { JwtService } from '@nestjs/jwt';
|
|
2
2
|
import { ServiceOptions } from '../../../common/interfaces/service-options.interface';
|
|
3
|
+
import { ConfigService } from '../../../common/services/config.service';
|
|
4
|
+
import { CoreAuthModel } from '../core-auth.model';
|
|
5
|
+
import { CoreAuthSignInInput } from '../inputs/core-auth-sign-in.input';
|
|
6
|
+
import { CoreAuthSignUpInput } from '../inputs/core-auth-sign-up.input';
|
|
3
7
|
import { ICoreAuthUser } from '../interfaces/core-auth-user.interface';
|
|
4
8
|
import { JwtPayload } from '../interfaces/jwt-payload.interface';
|
|
5
9
|
import { CoreAuthUserService } from './core-auth-user.service';
|
|
6
10
|
export declare class CoreAuthService {
|
|
7
11
|
protected readonly userService: CoreAuthUserService;
|
|
8
12
|
protected readonly jwtService: JwtService;
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
protected readonly configService: ConfigService;
|
|
14
|
+
constructor(userService: CoreAuthUserService, jwtService: JwtService, configService: ConfigService);
|
|
15
|
+
decodeJwt(token: string): JwtPayload;
|
|
16
|
+
logout(serviceOptions: ServiceOptions & {
|
|
17
|
+
deviceId?: string;
|
|
18
|
+
}): Promise<boolean>;
|
|
19
|
+
refreshTokens(user: ICoreAuthUser, deviceId?: string): Promise<CoreAuthModel>;
|
|
20
|
+
signIn(input: CoreAuthSignInInput, serviceOptions?: ServiceOptions): Promise<CoreAuthModel>;
|
|
21
|
+
signUp(input: CoreAuthSignUpInput, serviceOptions?: ServiceOptions): Promise<CoreAuthModel>;
|
|
22
|
+
validateUser(payload: JwtPayload): Promise<any>;
|
|
23
|
+
protected getResult(user: ICoreAuthUser, serviceOptions: ServiceOptions & {
|
|
24
|
+
deviceId?: string;
|
|
25
|
+
}): Promise<CoreAuthModel>;
|
|
26
|
+
protected getSecretFromConfig(refresh?: boolean): any;
|
|
27
|
+
protected getTokens(userId: string): Promise<{
|
|
11
28
|
token: string;
|
|
12
|
-
|
|
29
|
+
refreshToken: string;
|
|
13
30
|
}>;
|
|
14
|
-
|
|
15
|
-
|
|
31
|
+
protected updateRefreshToken(user: ICoreAuthUser, refreshToken: string, serviceOptions?: ServiceOptions & {
|
|
32
|
+
deviceId?: string;
|
|
33
|
+
}): Promise<ICoreAuthUser>;
|
|
16
34
|
}
|
|
@@ -14,36 +14,144 @@ const common_1 = require("@nestjs/common");
|
|
|
14
14
|
const jwt_1 = require("@nestjs/jwt");
|
|
15
15
|
const bcrypt = require("bcrypt");
|
|
16
16
|
const js_sha256_1 = require("js-sha256");
|
|
17
|
+
const db_helper_1 = require("../../../common/helpers/db.helper");
|
|
18
|
+
const service_helper_1 = require("../../../common/helpers/service.helper");
|
|
19
|
+
const config_service_1 = require("../../../common/services/config.service");
|
|
20
|
+
const core_auth_model_1 = require("../core-auth.model");
|
|
17
21
|
const core_auth_user_service_1 = require("./core-auth-user.service");
|
|
18
22
|
let CoreAuthService = class CoreAuthService {
|
|
19
|
-
constructor(userService, jwtService) {
|
|
23
|
+
constructor(userService, jwtService, configService) {
|
|
20
24
|
this.userService = userService;
|
|
21
25
|
this.jwtService = jwtService;
|
|
26
|
+
this.configService = configService;
|
|
22
27
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
decodeJwt(token) {
|
|
29
|
+
return this.jwtService.decode(token);
|
|
30
|
+
}
|
|
31
|
+
async logout(serviceOptions) {
|
|
32
|
+
const user = serviceOptions.currentUser;
|
|
33
|
+
if (!serviceOptions.currentUser) {
|
|
34
|
+
throw new common_1.UnauthorizedException();
|
|
35
|
+
}
|
|
36
|
+
const deviceId = serviceOptions.deviceId;
|
|
37
|
+
if (deviceId) {
|
|
38
|
+
if (!user.refreshTokens[deviceId]) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
delete user.refreshTokens[deviceId];
|
|
42
|
+
await this.userService.update(user.id, { refreshTokens: user.refreshTokens }, serviceOptions);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
user.refreshToken = null;
|
|
46
|
+
user.refreshTokens = {};
|
|
47
|
+
await this.userService.update(user.id, {
|
|
48
|
+
refreshToken: user.refreshToken,
|
|
49
|
+
refreshTokens: user.refreshTokens,
|
|
50
|
+
}, serviceOptions);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
async refreshTokens(user, deviceId) {
|
|
54
|
+
const tokens = await this.getTokens(user.id);
|
|
55
|
+
await this.updateRefreshToken(user, tokens.refreshToken, { deviceId });
|
|
56
|
+
return core_auth_model_1.CoreAuthModel.map({
|
|
57
|
+
...tokens,
|
|
58
|
+
user: await this.userService.prepareOutput(user),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async signIn(input, serviceOptions) {
|
|
62
|
+
const serviceOptionsForUserService = (0, service_helper_1.prepareServiceOptions)(serviceOptions, {
|
|
63
|
+
prepareOutput: null,
|
|
64
|
+
subFieldSelection: 'user',
|
|
65
|
+
});
|
|
66
|
+
const { email, password, deviceId } = input;
|
|
26
67
|
const user = await this.userService.getViaEmail(email, serviceOptions);
|
|
27
68
|
if (!user ||
|
|
28
69
|
!((await bcrypt.compare(password, user.password)) || (await bcrypt.compare((0, js_sha256_1.sha256)(password), user.password)))) {
|
|
29
70
|
throw new common_1.UnauthorizedException();
|
|
30
71
|
}
|
|
31
|
-
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
72
|
+
serviceOptionsForUserService.deviceId = input.deviceId;
|
|
73
|
+
return this.getResult(user, serviceOptions);
|
|
74
|
+
}
|
|
75
|
+
async signUp(input, serviceOptions) {
|
|
76
|
+
const serviceOptionsForUserService = (0, service_helper_1.prepareServiceOptions)(serviceOptions, {
|
|
77
|
+
subFieldSelection: 'user',
|
|
78
|
+
});
|
|
79
|
+
const user = await this.userService.create(input, serviceOptionsForUserService);
|
|
80
|
+
if (!user) {
|
|
81
|
+
throw Error('Email Address already in use');
|
|
82
|
+
}
|
|
83
|
+
serviceOptionsForUserService.deviceId = input.deviceId;
|
|
84
|
+
return this.getResult(user, serviceOptionsForUserService);
|
|
36
85
|
}
|
|
37
86
|
async validateUser(payload) {
|
|
38
|
-
|
|
87
|
+
const user = await this.userService.get(payload.id);
|
|
88
|
+
if (!user?.refreshToken) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
return user;
|
|
39
92
|
}
|
|
40
|
-
|
|
41
|
-
|
|
93
|
+
async getResult(user, serviceOptions) {
|
|
94
|
+
const tokens = await this.getTokens(user.id);
|
|
95
|
+
await this.updateRefreshToken(user, tokens.refreshToken, serviceOptions);
|
|
96
|
+
return core_auth_model_1.CoreAuthModel.map({
|
|
97
|
+
...tokens,
|
|
98
|
+
user: await this.userService.prepareOutput(user),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getSecretFromConfig(refresh) {
|
|
102
|
+
let path = 'jwt';
|
|
103
|
+
if (refresh) {
|
|
104
|
+
path += '.refresh';
|
|
105
|
+
}
|
|
106
|
+
return (this.configService.getFastButReadOnly(path + '.signInOptions.secret') ||
|
|
107
|
+
this.configService.getFastButReadOnly(path + '.signInOptions.secretOrPrivateKey') ||
|
|
108
|
+
this.configService.getFastButReadOnly(path + '.secret') ||
|
|
109
|
+
this.configService.getFastButReadOnly(path + '.secretOrPrivateKey'));
|
|
110
|
+
}
|
|
111
|
+
async getTokens(userId) {
|
|
112
|
+
const [token, refreshToken] = await Promise.all([
|
|
113
|
+
this.jwtService.signAsync({ id: userId }, {
|
|
114
|
+
secret: this.getSecretFromConfig(false),
|
|
115
|
+
...this.configService.getFastButReadOnly('jwt.signInOptions', {}),
|
|
116
|
+
}),
|
|
117
|
+
this.jwtService.signAsync({ id: userId }, {
|
|
118
|
+
secret: this.getSecretFromConfig(true),
|
|
119
|
+
...this.configService.getFastButReadOnly('jwt.refresh.signInOptions', {}),
|
|
120
|
+
}),
|
|
121
|
+
]);
|
|
122
|
+
return {
|
|
123
|
+
token,
|
|
124
|
+
refreshToken,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
async updateRefreshToken(user, refreshToken, serviceOptions = {}) {
|
|
128
|
+
const hashedRefreshToken = await bcrypt.hash(refreshToken, 10);
|
|
129
|
+
const deviceId = serviceOptions?.deviceId;
|
|
130
|
+
if (deviceId) {
|
|
131
|
+
if (!user.refreshTokens) {
|
|
132
|
+
user.refreshTokens = {};
|
|
133
|
+
}
|
|
134
|
+
user.refreshTokens[deviceId] = hashedRefreshToken;
|
|
135
|
+
if (!user.refreshToken) {
|
|
136
|
+
user.refreshToken = hashedRefreshToken;
|
|
137
|
+
}
|
|
138
|
+
return await this.userService.update((0, db_helper_1.getStringIds)(user), { refreshTokens: user.refreshTokens, refreshToken: user.refreshToken }, {
|
|
139
|
+
...serviceOptions,
|
|
140
|
+
force: true,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
user.refreshToken = hashedRefreshToken;
|
|
144
|
+
return await this.userService.update((0, db_helper_1.getStringIds)(user), { refreshToken: hashedRefreshToken }, {
|
|
145
|
+
...serviceOptions,
|
|
146
|
+
force: true,
|
|
147
|
+
});
|
|
42
148
|
}
|
|
43
149
|
};
|
|
44
150
|
CoreAuthService = __decorate([
|
|
45
151
|
(0, common_1.Injectable)(),
|
|
46
|
-
__metadata("design:paramtypes", [core_auth_user_service_1.CoreAuthUserService,
|
|
152
|
+
__metadata("design:paramtypes", [core_auth_user_service_1.CoreAuthUserService,
|
|
153
|
+
jwt_1.JwtService,
|
|
154
|
+
config_service_1.ConfigService])
|
|
47
155
|
], CoreAuthService);
|
|
48
156
|
exports.CoreAuthService = CoreAuthService;
|
|
49
157
|
//# sourceMappingURL=core-auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,iCAAiC;AACjC,yCAAmC;
|
|
1
|
+
{"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Request } from 'express';
|
|
2
|
+
import { ConfigService } from '../../../common/services/config.service';
|
|
3
|
+
import { CoreAuthService } from '../services/core-auth.service';
|
|
4
|
+
declare const JwtRefreshStrategy_base: new (...args: any[]) => any;
|
|
5
|
+
export declare class JwtRefreshStrategy extends JwtRefreshStrategy_base {
|
|
6
|
+
protected readonly authService: CoreAuthService;
|
|
7
|
+
protected readonly configService: ConfigService;
|
|
8
|
+
constructor(authService: CoreAuthService, configService: ConfigService);
|
|
9
|
+
private static extractJWTFromCookie;
|
|
10
|
+
validate(req: Request, payload: any): Promise<any>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var JwtRefreshStrategy_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.JwtRefreshStrategy = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const passport_1 = require("@nestjs/passport");
|
|
16
|
+
const bcrypt = require("bcrypt");
|
|
17
|
+
const passport_jwt_1 = require("passport-jwt");
|
|
18
|
+
const config_service_1 = require("../../../common/services/config.service");
|
|
19
|
+
const core_auth_service_1 = require("../services/core-auth.service");
|
|
20
|
+
let JwtRefreshStrategy = JwtRefreshStrategy_1 = class JwtRefreshStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy, 'jwt-refresh') {
|
|
21
|
+
constructor(authService, configService) {
|
|
22
|
+
super({
|
|
23
|
+
jwtFromRequest: passport_jwt_1.ExtractJwt.fromExtractors([
|
|
24
|
+
JwtRefreshStrategy_1.extractJWTFromCookie,
|
|
25
|
+
passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
|
26
|
+
]),
|
|
27
|
+
privateKey: configService.get('jwt.refresh.privateKey'),
|
|
28
|
+
publicKey: configService.get('jwt.refresh.publicKey'),
|
|
29
|
+
secret: configService.get('jwt.refresh.secret') || configService.get('jwt.refresh.secretOrPrivateKey'),
|
|
30
|
+
secretOrKey: configService.get('jwt.refresh.secretOrPrivateKey') || configService.get('jwt.refresh.secret'),
|
|
31
|
+
secretOrKeyProvider: configService.get('jwt.refresh.secretOrKeyProvider'),
|
|
32
|
+
passReqToCallback: true,
|
|
33
|
+
});
|
|
34
|
+
this.authService = authService;
|
|
35
|
+
this.configService = configService;
|
|
36
|
+
}
|
|
37
|
+
static extractJWTFromCookie(req) {
|
|
38
|
+
return req?.cookies?.refreshToken || null;
|
|
39
|
+
}
|
|
40
|
+
async validate(req, payload) {
|
|
41
|
+
const user = await this.authService.validateUser(payload);
|
|
42
|
+
if (!user) {
|
|
43
|
+
throw new common_1.UnauthorizedException();
|
|
44
|
+
}
|
|
45
|
+
const refreshToken = req
|
|
46
|
+
.get('Authorization')
|
|
47
|
+
.replace(/bearer/i, '')
|
|
48
|
+
.trim();
|
|
49
|
+
const refreshTokenMatches = await bcrypt.compare(refreshToken, user.refreshToken);
|
|
50
|
+
if (!refreshTokenMatches) {
|
|
51
|
+
throw new common_1.ForbiddenException('Access Denied');
|
|
52
|
+
}
|
|
53
|
+
return user;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
JwtRefreshStrategy = JwtRefreshStrategy_1 = __decorate([
|
|
57
|
+
(0, common_1.Injectable)(),
|
|
58
|
+
__metadata("design:paramtypes", [core_auth_service_1.CoreAuthService, config_service_1.ConfigService])
|
|
59
|
+
], JwtRefreshStrategy);
|
|
60
|
+
exports.JwtRefreshStrategy = JwtRefreshStrategy;
|
|
61
|
+
//# sourceMappingURL=jwt-refresh.strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-refresh.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt-refresh.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AACvF,+CAAoD;AACpD,iCAAiC;AAEjC,+CAAoD;AACpD,4EAAwE;AACxE,qEAAgE;AAGzD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,aAAa,CAAC;IAC/E,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,oBAAkB,CAAC,oBAAoB;gBACvC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACvD,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACrD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACtG,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3G,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,iCAAiC,CAAC;YACzE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAZ0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAa5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;IAC5C,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,OAAY;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QAGD,MAAM,YAAY,GAAG,GAAG;aACrB,GAAG,CAAC,eAAe,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,IAAI,EAAE,CAAC;QACV,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,IAAI,2BAAkB,CAAC,eAAe,CAAC,CAAC;SAC/C;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9CY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEiC,mCAAe,EAAoC,8BAAa;GADjG,kBAAkB,CA8C9B;AA9CY,gDAAkB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ConfigService } from '
|
|
2
|
-
import { JwtPayload } from '
|
|
3
|
-
import { CoreAuthService } from '
|
|
1
|
+
import { ConfigService } from '../../../common/services/config.service';
|
|
2
|
+
import { JwtPayload } from '../interfaces/jwt-payload.interface';
|
|
3
|
+
import { CoreAuthService } from '../services/core-auth.service';
|
|
4
4
|
declare const JwtStrategy_base: new (...args: any[]) => any;
|
|
5
5
|
export declare class JwtStrategy extends JwtStrategy_base {
|
|
6
6
|
protected readonly authService: CoreAuthService;
|
|
7
7
|
protected readonly configService: ConfigService;
|
|
8
8
|
constructor(authService: CoreAuthService, configService: ConfigService);
|
|
9
|
+
private static extractJWTFromCookie;
|
|
9
10
|
validate(payload: JwtPayload): Promise<any>;
|
|
10
11
|
}
|
|
11
12
|
export {};
|
|
@@ -8,17 +8,21 @@ 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 JwtStrategy_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.JwtStrategy = void 0;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
14
15
|
const passport_1 = require("@nestjs/passport");
|
|
15
16
|
const passport_jwt_1 = require("passport-jwt");
|
|
16
|
-
const config_service_1 = require("
|
|
17
|
-
const core_auth_service_1 = require("
|
|
18
|
-
let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) {
|
|
17
|
+
const config_service_1 = require("../../../common/services/config.service");
|
|
18
|
+
const core_auth_service_1 = require("../services/core-auth.service");
|
|
19
|
+
let JwtStrategy = JwtStrategy_1 = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy, 'jwt') {
|
|
19
20
|
constructor(authService, configService) {
|
|
20
21
|
super({
|
|
21
|
-
jwtFromRequest: passport_jwt_1.ExtractJwt.
|
|
22
|
+
jwtFromRequest: passport_jwt_1.ExtractJwt.fromExtractors([
|
|
23
|
+
JwtStrategy_1.extractJWTFromCookie,
|
|
24
|
+
passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
|
25
|
+
]),
|
|
22
26
|
privateKey: configService.get('jwt.privateKey'),
|
|
23
27
|
publicKey: configService.get('jwt.publicKey'),
|
|
24
28
|
secret: configService.get('jwt.secret') || configService.get('jwt.secretOrPrivateKey'),
|
|
@@ -28,6 +32,9 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
|
|
|
28
32
|
this.authService = authService;
|
|
29
33
|
this.configService = configService;
|
|
30
34
|
}
|
|
35
|
+
static extractJWTFromCookie(req) {
|
|
36
|
+
return req?.cookies?.token || null;
|
|
37
|
+
}
|
|
31
38
|
async validate(payload) {
|
|
32
39
|
const user = await this.authService.validateUser(payload);
|
|
33
40
|
if (!user) {
|
|
@@ -36,7 +43,7 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
|
|
|
36
43
|
return user;
|
|
37
44
|
}
|
|
38
45
|
};
|
|
39
|
-
JwtStrategy = __decorate([
|
|
46
|
+
JwtStrategy = JwtStrategy_1 = __decorate([
|
|
40
47
|
(0, common_1.Injectable)(),
|
|
41
48
|
__metadata("design:paramtypes", [core_auth_service_1.CoreAuthService, config_service_1.ConfigService])
|
|
42
49
|
], JwtStrategy);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,+CAAoD;AACpD,+CAAoD;AACpD,4EAAwE;AAExE,qEAAgE;AAOzD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,KAAK,CAAC;IAIhE,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,aAAW,CAAC,oBAAoB;gBAChC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC/C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACtF,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3F,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC;SAClE,CAAC,CAAC;QAX0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAY5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnCY,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAKiC,mCAAe,EAAoC,8BAAa;GAJjG,WAAW,CAmCvB;AAnCY,kCAAW"}
|
|
@@ -9,6 +9,8 @@ export declare abstract class CoreUserModel extends CorePersistenceModel {
|
|
|
9
9
|
roles: string[];
|
|
10
10
|
username: string;
|
|
11
11
|
passwordResetToken: string;
|
|
12
|
+
refreshToken: string;
|
|
13
|
+
refreshTokens: Record<string, string>;
|
|
12
14
|
verificationToken: string;
|
|
13
15
|
verified: boolean;
|
|
14
16
|
verifiedAt: Date;
|
|
@@ -24,6 +24,8 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
24
24
|
this.roles = undefined;
|
|
25
25
|
this.username = undefined;
|
|
26
26
|
this.passwordResetToken = undefined;
|
|
27
|
+
this.refreshToken = undefined;
|
|
28
|
+
this.refreshTokens = undefined;
|
|
27
29
|
this.verificationToken = undefined;
|
|
28
30
|
this.verified = undefined;
|
|
29
31
|
this.verifiedAt = undefined;
|
|
@@ -95,6 +97,16 @@ __decorate([
|
|
|
95
97
|
(0, mongoose_1.Prop)(),
|
|
96
98
|
__metadata("design:type", String)
|
|
97
99
|
], CoreUserModel.prototype, "passwordResetToken", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, class_validator_1.IsOptional)(),
|
|
102
|
+
(0, mongoose_1.Prop)(),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], CoreUserModel.prototype, "refreshToken", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, class_validator_1.IsOptional)(),
|
|
107
|
+
(0, mongoose_1.Prop)((0, mongoose_1.raw)({})),
|
|
108
|
+
__metadata("design:type", Object)
|
|
109
|
+
], CoreUserModel.prototype, "refreshTokens", void 0);
|
|
98
110
|
__decorate([
|
|
99
111
|
(0, class_validator_1.IsOptional)(),
|
|
100
112
|
(0, mongoose_1.Prop)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ import { CoreUserModel } from './core-user.model';
|
|
|
8
8
|
import { CoreUserCreateInput } from './inputs/core-user-create.input';
|
|
9
9
|
import { CoreUserInput } from './inputs/core-user.input';
|
|
10
10
|
export declare abstract class CoreUserService<TUser extends CoreUserModel, TUserInput extends CoreUserInput, TUserCreateInput extends CoreUserCreateInput> extends CrudService<TUser> {
|
|
11
|
+
protected readonly configService: ConfigService;
|
|
11
12
|
protected readonly emailService: EmailService;
|
|
12
13
|
protected readonly mainDbModel: Model<TUser & Document>;
|
|
13
14
|
protected readonly mainModelConstructor: CoreModelConstructor<TUser>;
|
|
14
|
-
protected
|
|
15
|
-
protected constructor(emailService: EmailService, mainDbModel: Model<TUser & Document>, mainModelConstructor: CoreModelConstructor<TUser>, configService?: ConfigService);
|
|
15
|
+
protected constructor(configService: ConfigService, emailService: EmailService, mainDbModel: Model<TUser & Document>, mainModelConstructor: CoreModelConstructor<TUser>);
|
|
16
16
|
create(input: any, serviceOptions?: ServiceOptions): Promise<TUser>;
|
|
17
17
|
getViaEmail(email: string, serviceOptions?: ServiceOptions): Promise<TUser>;
|
|
18
18
|
getVerifiedState(token: string, serviceOptions?: ServiceOptions): Promise<boolean>;
|
|
@@ -8,12 +8,12 @@ const js_sha256_1 = require("js-sha256");
|
|
|
8
8
|
const input_helper_1 = require("../../common/helpers/input.helper");
|
|
9
9
|
const crud_service_1 = require("../../common/services/crud.service");
|
|
10
10
|
class CoreUserService extends crud_service_1.CrudService {
|
|
11
|
-
constructor(emailService, mainDbModel, mainModelConstructor
|
|
11
|
+
constructor(configService, emailService, mainDbModel, mainModelConstructor) {
|
|
12
12
|
super();
|
|
13
|
+
this.configService = configService;
|
|
13
14
|
this.emailService = emailService;
|
|
14
15
|
this.mainDbModel = mainDbModel;
|
|
15
16
|
this.mainModelConstructor = mainModelConstructor;
|
|
16
|
-
this.configService = configService;
|
|
17
17
|
}
|
|
18
18
|
async create(input, serviceOptions) {
|
|
19
19
|
serviceOptions = (0, input_helper_1.prepareServiceOptionsForCreate)(serviceOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":";;;AAAA,2CAAsG;AACtG,iCAAiC;AACjC,iCAAiC;AACjC,yCAAmC;AAEnC,oEAAgG;AAGhG,qEAAiE;AAUjE,MAAsB,eAIpB,SAAQ,0BAAkB;IAC1B,
|
|
1
|
+
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":"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"}
|
package/dist/core.module.js
CHANGED
|
@@ -16,6 +16,7 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
16
16
|
const graphqlUploadExpress = require("graphql-upload/graphqlUploadExpress.js");
|
|
17
17
|
const config_helper_1 = require("./core/common/helpers/config.helper");
|
|
18
18
|
const map_and_validate_pipe_1 = require("./core/common/pipes/map-and-validate.pipe");
|
|
19
|
+
const complexity_plugin_1 = require("./core/common/plugins/complexity.plugin");
|
|
19
20
|
const config_service_1 = require("./core/common/services/config.service");
|
|
20
21
|
const email_service_1 = require("./core/common/services/email.service");
|
|
21
22
|
const mailjet_service_1 = require("./core/common/services/mailjet.service");
|
|
@@ -25,6 +26,13 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
25
26
|
consumer.apply(graphqlUploadExpress()).forRoutes('graphql');
|
|
26
27
|
}
|
|
27
28
|
static forRoot(AuthService, AuthModule, options) {
|
|
29
|
+
let cors = {};
|
|
30
|
+
if (options?.cookies) {
|
|
31
|
+
cors = {
|
|
32
|
+
credentials: true,
|
|
33
|
+
origin: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
28
36
|
const config = (0, config_helper_1.merge)({
|
|
29
37
|
env: 'develop',
|
|
30
38
|
graphQl: {
|
|
@@ -33,7 +41,8 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
33
41
|
inject: [AuthService],
|
|
34
42
|
useFactory: async (authService) => Object.assign({
|
|
35
43
|
autoSchemaFile: 'schema.gql',
|
|
36
|
-
context: ({ req }) => ({ req }),
|
|
44
|
+
context: ({ req, res }) => ({ req, res }),
|
|
45
|
+
cors,
|
|
37
46
|
installSubscriptionHandlers: true,
|
|
38
47
|
subscriptions: {
|
|
39
48
|
'subscriptions-transport-ws': {
|
|
@@ -94,6 +103,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
94
103
|
email_service_1.EmailService,
|
|
95
104
|
template_service_1.TemplateService,
|
|
96
105
|
mailjet_service_1.MailjetService,
|
|
106
|
+
complexity_plugin_1.ComplexityPlugin,
|
|
97
107
|
];
|
|
98
108
|
return {
|
|
99
109
|
module: CoreModule_1,
|
|
@@ -102,7 +112,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
102
112
|
graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver, config.graphQl.options)),
|
|
103
113
|
],
|
|
104
114
|
providers,
|
|
105
|
-
exports: [config_service_1.ConfigService, email_service_1.EmailService, template_service_1.TemplateService, mailjet_service_1.MailjetService],
|
|
115
|
+
exports: [config_service_1.ConfigService, email_service_1.EmailService, template_service_1.TemplateService, mailjet_service_1.MailjetService, complexity_plugin_1.ComplexityPlugin],
|
|
106
116
|
};
|
|
107
117
|
}
|
|
108
118
|
};
|
package/dist/core.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAkE;AAClE,2CAAsH;AACtH,uCAAwC;AACxC,6CAAgD;AAChD,+CAAkD;AAElD,+EAA+E;AAC/E,uEAA4D;AAE5D,qFAA+E;AAC/E,0EAAsE;AACtE,wEAAoE;AACpE,4EAAwE;AACxE,8EAA0E;AAiBnE,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAIrB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAKD,MAAM,CAAC,OAAO,CAAC,WAAgB,EAAE,UAAe,EAAE,OAAgC;QAEhF,MAAM,MAAM,GAAmB,IAAA,qBAAK,EAClC;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,MAAM,EAAE,CAAC,WAAW,CAAC;oBACrB,UAAU,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CACX;wBACE,cAAc,EAAE,YAAY;wBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from './core/common/enums/logical-operator.enum';
|
|
|
10
10
|
export * from './core/common/enums/process-type.enum';
|
|
11
11
|
export * from './core/common/enums/role.enum';
|
|
12
12
|
export * from './core/common/enums/sort-order.emum';
|
|
13
|
+
export * from './core/common/filters/http-exception-log.filter';
|
|
13
14
|
export * from './core/common/helpers/common.helper';
|
|
14
15
|
export * from './core/common/helpers/config.helper';
|
|
15
16
|
export * from './core/common/helpers/context.helper';
|
|
@@ -26,6 +27,7 @@ export * from './core/common/inputs/filter.input';
|
|
|
26
27
|
export * from './core/common/inputs/single-filter.input';
|
|
27
28
|
export * from './core/common/inputs/sort.input';
|
|
28
29
|
export * from './core/common/interceptors/check-response.interceptor';
|
|
30
|
+
export * from './core/common/interceptors/check-security.interceptor';
|
|
29
31
|
export * from './core/common/interfaces/core-persistence-model.interface';
|
|
30
32
|
export * from './core/common/interfaces/cron-job-config.interface';
|
|
31
33
|
export * from './core/common/interfaces/mailjet-options.interface';
|
|
@@ -38,6 +40,8 @@ export * from './core/common/models/core-model.model';
|
|
|
38
40
|
export * from './core/common/models/core-persistence.model';
|
|
39
41
|
export * from './core/common/pipes/check-input.pipe';
|
|
40
42
|
export * from './core/common/pipes/map-and-validate.pipe';
|
|
43
|
+
export * from './core/common/plugins/complexity.plugin';
|
|
44
|
+
export * from './core/common/plugins/mongoose-id.plugin';
|
|
41
45
|
export * from './core/common/scalars/any.scalar';
|
|
42
46
|
export * from './core/common/scalars/date.scalar';
|
|
43
47
|
export * from './core/common/scalars/json.scalar';
|
|
@@ -70,7 +74,8 @@ export * from './core/modules/auth/services/core-auth-user.service';
|
|
|
70
74
|
export * from './core/modules/auth/core-auth.model';
|
|
71
75
|
export * from './core/modules/auth/core-auth.module';
|
|
72
76
|
export * from './core/modules/auth/core-auth.resolver';
|
|
73
|
-
export * from './core/modules/auth/jwt.strategy';
|
|
77
|
+
export * from './core/modules/auth/strategies/jwt.strategy';
|
|
78
|
+
export * from './core/modules/auth/strategies/jwt-refresh.strategy';
|
|
74
79
|
export * from './core/modules/file/interfaces/file-service-options.interface';
|
|
75
80
|
export * from './core/modules/file/interfaces/file-upload.interface';
|
|
76
81
|
export * from './core/modules/file/core-file.controller';
|