@lenne.tech/nest-server 9.2.7 → 9.3.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/core/common/decorators/current-user.decorator.d.ts +1 -0
- package/dist/core/common/decorators/current-user.decorator.js +7 -0
- package/dist/core/common/decorators/current-user.decorator.js.map +1 -0
- package/dist/core/common/decorators/graphql-populate.decorator.d.ts +4 -0
- package/dist/core/common/decorators/graphql-populate.decorator.js +7 -0
- package/dist/core/common/decorators/graphql-populate.decorator.js.map +1 -0
- package/dist/core/common/decorators/graphql-service-options.decorator.d.ts +4 -0
- package/dist/core/common/decorators/graphql-service-options.decorator.js +12 -0
- package/dist/core/common/decorators/graphql-service-options.decorator.js.map +1 -0
- package/dist/core/common/filters/http-exception-log.filter.js.map +1 -1
- package/dist/core/common/helpers/decorator.helper.d.ts +7 -0
- package/dist/core/common/helpers/decorator.helper.js +32 -0
- package/dist/core/common/helpers/decorator.helper.js.map +1 -0
- package/dist/core/common/scalars/date.scalar.d.ts +2 -2
- package/dist/core/common/scalars/date.scalar.js +18 -4
- package/dist/core/common/scalars/date.scalar.js.map +1 -1
- package/dist/core/common/types/populate-config.type.d.ts +2 -0
- package/dist/core/common/types/populate-config.type.js +3 -0
- package/dist/core/common/types/populate-config.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.controller.d.ts +2 -3
- package/dist/core/modules/auth/core-auth.controller.js +11 -14
- package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +3 -3
- package/dist/core/modules/auth/core-auth.resolver.js +10 -9
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/file/core-file.controller.js +2 -2
- package/dist/core/modules/file/core-file.controller.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/server/modules/auth/auth.resolver.d.ts +3 -3
- package/dist/server/modules/auth/auth.resolver.js +7 -8
- package/dist/server/modules/auth/auth.resolver.js.map +1 -1
- package/dist/server/modules/user/avatar.controller.js +2 -2
- package/dist/server/modules/user/avatar.controller.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +7 -7
- package/dist/server/modules/user/user.resolver.js +28 -37
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/common/decorators/current-user.decorator.ts +7 -0
- package/src/core/common/decorators/graphql-populate.decorator.ts +15 -0
- package/src/core/common/decorators/graphql-service-options.decorator.ts +29 -0
- package/src/core/common/enums/role.enum.ts +2 -2
- package/src/core/common/filters/http-exception-log.filter.ts +3 -2
- package/src/core/common/helpers/decorator.helper.ts +54 -0
- package/src/core/common/scalars/date.scalar.ts +35 -6
- package/src/core/common/types/populate-config.type.ts +6 -0
- package/src/core/modules/auth/core-auth.controller.ts +6 -16
- package/src/core/modules/auth/core-auth.resolver.ts +10 -9
- package/src/core/modules/file/core-file.controller.ts +2 -2
- package/src/index.ts +5 -0
- package/src/server/modules/auth/auth.resolver.ts +7 -8
- package/src/server/modules/user/avatar.controller.ts +2 -2
- package/src/server/modules/user/user.resolver.ts +20 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CurrentUser: (...dataOrPipes: any[]) => ParameterDecorator;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CurrentUser = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const decorator_helper_1 = require("../helpers/decorator.helper");
|
|
6
|
+
exports.CurrentUser = (0, common_1.createParamDecorator)(decorator_helper_1.currentUserDec);
|
|
7
|
+
//# sourceMappingURL=current-user.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-user.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/current-user.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,kEAA6D;AAKhD,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAAC,iCAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLPopulate = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const decorator_helper_1 = require("../helpers/decorator.helper");
|
|
6
|
+
exports.GraphQLPopulate = (0, common_1.createParamDecorator)(decorator_helper_1.graphqlPopulateDec);
|
|
7
|
+
//# sourceMappingURL=graphql-populate.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-populate.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/graphql-populate.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,kEAAiE;AAapD,QAAA,eAAe,GAAG,IAAA,6BAAoB,EAAC,qCAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const GraphQLServiceOptions: (...dataOrPipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>> | {
|
|
2
|
+
gqlPath?: string;
|
|
3
|
+
ignoreSelections?: boolean;
|
|
4
|
+
})[]) => ParameterDecorator;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLServiceOptions = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const decorator_helper_1 = require("../helpers/decorator.helper");
|
|
6
|
+
exports.GraphQLServiceOptions = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
7
|
+
return {
|
|
8
|
+
currentUser: (0, decorator_helper_1.currentUserDec)(null, ctx),
|
|
9
|
+
populate: (0, decorator_helper_1.graphqlPopulateDec)(data, ctx),
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=graphql-service-options.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-service-options.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/graphql-service-options.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AACxE,kEAAiF;AAoBpE,QAAA,qBAAqB,GAAG,IAAA,6BAAoB,EACvD,CAAC,IAAsD,EAAE,GAAqB,EAAkB,EAAE;IAChG,OAAO;QACL,WAAW,EAAE,IAAA,iCAAc,EAAC,IAAI,EAAE,GAAG,CAAC;QACtC,QAAQ,EAAE,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,CAAC;KACxC,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-exception-log.filter.js","sourceRoot":"","sources":["../../../../src/core/common/filters/http-exception-log.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"http-exception-log.filter.js","sourceRoot":"","sources":["../../../../src/core/common/filters/http-exception-log.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsF;AAK/E,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,KAAK,CAAC,SAAwB,EAAE,IAAmB;QAEjD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAG/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAkB,CAAC;QAC5C,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,OAAO,SAAS,CAAC;SAClB;QAGD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACtB,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtBY,sBAAsB;IADlC,IAAA,cAAK,EAAC,sBAAa,CAAC;GACR,sBAAsB,CAsBlC;AAtBY,wDAAsB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { PopulateOptions } from 'mongoose';
|
|
3
|
+
export declare function currentUserDec(data: any, ctx: ExecutionContext): any;
|
|
4
|
+
export declare function graphqlPopulateDec(data: {
|
|
5
|
+
gqlPath?: string;
|
|
6
|
+
ignoreSelections?: boolean;
|
|
7
|
+
}, ctx: ExecutionContext): PopulateOptions[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.graphqlPopulateDec = exports.currentUserDec = void 0;
|
|
4
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
5
|
+
const db_helper_1 = require("./db.helper");
|
|
6
|
+
const input_helper_1 = require("./input.helper");
|
|
7
|
+
function currentUserDec(data, ctx) {
|
|
8
|
+
if (ctx.getType() === 'graphql') {
|
|
9
|
+
const gqlContext = graphql_1.GqlExecutionContext.create(ctx);
|
|
10
|
+
return gqlContext.getContext().req.user;
|
|
11
|
+
}
|
|
12
|
+
return ctx.switchToHttp().getRequest().user;
|
|
13
|
+
}
|
|
14
|
+
exports.currentUserDec = currentUserDec;
|
|
15
|
+
function graphqlPopulateDec(data, ctx) {
|
|
16
|
+
if (ctx.getType() !== 'graphql') {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const gqlContext = graphql_1.GqlExecutionContext.create(ctx);
|
|
20
|
+
const { gqlPath, ignoreSelections } = {
|
|
21
|
+
gqlPath: gqlContext.getHandler().name,
|
|
22
|
+
ignoreSelections: true,
|
|
23
|
+
...data,
|
|
24
|
+
};
|
|
25
|
+
const populateOptions = (0, db_helper_1.getPopulateOptions)(gqlContext.getInfo(), gqlPath);
|
|
26
|
+
if (ignoreSelections) {
|
|
27
|
+
(0, input_helper_1.removePropertiesDeep)(populateOptions, ['select']);
|
|
28
|
+
}
|
|
29
|
+
return populateOptions;
|
|
30
|
+
}
|
|
31
|
+
exports.graphqlPopulateDec = graphqlPopulateDec;
|
|
32
|
+
//# sourceMappingURL=decorator.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/decorator.helper.ts"],"names":[],"mappings":";;;AACA,6CAAsE;AAEtE,2CAAiD;AACjD,iDAAsD;AAKtD,SAAgB,cAAc,CAAC,IAAI,EAAE,GAAqB;IACxD,IAAI,GAAG,CAAC,OAAO,EAAkB,KAAK,SAAS,EAAE;QAC/C,MAAM,UAAU,GAAG,6BAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;KACzC;IACD,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;AAC9C,CAAC;AAND,wCAMC;AAaD,SAAgB,kBAAkB,CAChC,IAAsD,EACtD,GAAqB;IAGrB,IAAI,GAAG,CAAC,OAAO,EAAkB,KAAK,SAAS,EAAE;QAC/C,OAAO,SAAS,CAAC;KAClB;IAGD,MAAM,UAAU,GAAG,6BAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG;QACpC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI;QACrC,gBAAgB,EAAE,IAAI;QACtB,GAAG,IAAI;KACR,CAAC;IAGF,MAAM,eAAe,GAAG,IAAA,8BAAkB,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,gBAAgB,EAAE;QACpB,IAAA,mCAAoB,EAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;KACnD;IAGD,OAAO,eAAe,CAAC;AACzB,CAAC;AAzBD,gDAyBC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CustomScalar } from '@nestjs/graphql';
|
|
2
|
-
export declare class DateScalar implements CustomScalar<
|
|
2
|
+
export declare class DateScalar implements CustomScalar<string, Date> {
|
|
3
3
|
description: string;
|
|
4
4
|
parseValue(value: number): Date;
|
|
5
|
-
serialize(value: Date):
|
|
5
|
+
serialize(value: Date): string;
|
|
6
6
|
parseLiteral(ast: any): Date;
|
|
7
7
|
}
|
|
@@ -17,13 +17,27 @@ let DateScalar = class DateScalar {
|
|
|
17
17
|
return new Date(value);
|
|
18
18
|
}
|
|
19
19
|
serialize(value) {
|
|
20
|
-
return value.
|
|
20
|
+
return value.toISOString();
|
|
21
21
|
}
|
|
22
22
|
parseLiteral(ast) {
|
|
23
|
-
if (ast.
|
|
24
|
-
return
|
|
23
|
+
if (ast.value === undefined || ast.value === null) {
|
|
24
|
+
return ast.value;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
if (!ast.value) {
|
|
27
|
+
throw new Error('Invalid value for date');
|
|
28
|
+
}
|
|
29
|
+
if (ast.kind !== graphql_2.Kind.INT && ast.kind !== graphql_2.Kind.STRING) {
|
|
30
|
+
throw new Error('Invalid value type for date');
|
|
31
|
+
}
|
|
32
|
+
if (ast.kind === graphql_2.Kind.STRING && isNaN(Date.parse(ast.value))) {
|
|
33
|
+
throw new Error('Invalid ISO 8601 format for date');
|
|
34
|
+
}
|
|
35
|
+
const date = new Date(ast.value);
|
|
36
|
+
if (date.toString() === 'Invalid Date') {
|
|
37
|
+
throw new Error('Invalid value for date');
|
|
38
|
+
}
|
|
39
|
+
date.toISOString();
|
|
40
|
+
return date;
|
|
27
41
|
}
|
|
28
42
|
};
|
|
29
43
|
DateScalar = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.scalar.js","sourceRoot":"","sources":["../../../../src/core/common/scalars/date.scalar.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAAuD;AACvD,qCAA+B;AAMxB,IAAM,UAAU,GAAhB,MAAM,UAAU;IAAhB;QACL,gBAAW,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"date.scalar.js","sourceRoot":"","sources":["../../../../src/core/common/scalars/date.scalar.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAAuD;AACvD,qCAA+B;AAMxB,IAAM,UAAU,GAAhB,MAAM,UAAU;IAAhB;QACL,gBAAW,GAAG,yBAAyB,CAAC;IAsD1C,CAAC;IAjDC,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAKD,SAAS,CAAC,KAAW;QACnB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAKD,YAAY,CAAC,GAAQ;QAEnB,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE;YACjD,OAAO,GAAG,CAAC,KAAK,CAAC;SAClB;QAGD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAGD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,cAAI,CAAC,MAAM,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QAGD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAGD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjC,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,cAAc,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAGD,IAAI,CAAC,WAAW,EAAE,CAAC;QAGnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvDY,UAAU;IADtB,IAAA,gBAAM,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;GAClB,UAAU,CAuDtB;AAvDY,gCAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populate-config.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/populate-config.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Response as ResponseType } from 'express';
|
|
2
|
-
import { GraphQLResolveInfo } from 'graphql/index';
|
|
3
2
|
import { ConfigService } from '../../common/services/config.service';
|
|
4
3
|
import { CoreAuthModel } from './core-auth.model';
|
|
5
4
|
import { CoreAuthSignInInput } from './inputs/core-auth-sign-in.input';
|
|
@@ -12,7 +11,7 @@ export declare class CoreAuthController {
|
|
|
12
11
|
constructor(authService: CoreAuthService, configService: ConfigService);
|
|
13
12
|
logout(currentUser: ICoreAuthUser, token: string, res: ResponseType, allDevices?: boolean): Promise<boolean>;
|
|
14
13
|
refreshToken(user: ICoreAuthUser, refreshToken: string, res: ResponseType): Promise<CoreAuthModel>;
|
|
15
|
-
signIn(
|
|
16
|
-
signUp(
|
|
14
|
+
signIn(res: ResponseType, input: CoreAuthSignInInput): Promise<CoreAuthModel>;
|
|
15
|
+
signUp(res: ResponseType, input: CoreAuthSignUpInput): Promise<CoreAuthModel>;
|
|
17
16
|
protected processCookies(res: ResponseType, result: any): any;
|
|
18
17
|
}
|
|
@@ -15,8 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.CoreAuthController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const graphql_1 = require("@nestjs/graphql");
|
|
18
|
-
const
|
|
19
|
-
const rest_user_decorator_1 = require("../../common/decorators/rest-user.decorator");
|
|
18
|
+
const current_user_decorator_1 = require("../../common/decorators/current-user.decorator");
|
|
20
19
|
const config_service_1 = require("../../common/services/config.service");
|
|
21
20
|
const auth_guard_strategy_enum_1 = require("./auth-guard-strategy.enum");
|
|
22
21
|
const auth_guard_1 = require("./guards/auth.guard");
|
|
@@ -37,11 +36,11 @@ let CoreAuthController = class CoreAuthController {
|
|
|
37
36
|
const result = await this.authService.refreshTokens(user, refreshToken);
|
|
38
37
|
return this.processCookies(res, result);
|
|
39
38
|
}
|
|
40
|
-
async signIn(
|
|
39
|
+
async signIn(res, input) {
|
|
41
40
|
const result = await this.authService.signIn(input);
|
|
42
41
|
return this.processCookies(res, result);
|
|
43
42
|
}
|
|
44
|
-
async signUp(
|
|
43
|
+
async signUp(res, input) {
|
|
45
44
|
const result = await this.authService.signUp(input);
|
|
46
45
|
return this.processCookies(res, result);
|
|
47
46
|
}
|
|
@@ -67,7 +66,7 @@ let CoreAuthController = class CoreAuthController {
|
|
|
67
66
|
__decorate([
|
|
68
67
|
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
69
68
|
(0, common_1.Get)(),
|
|
70
|
-
__param(0, (0,
|
|
69
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
71
70
|
__param(1, (0, tokens_decorator_1.Tokens)('token')),
|
|
72
71
|
__param(2, (0, common_1.Res)()),
|
|
73
72
|
__param(3, (0, common_1.Param)('allDevices', common_1.ParseBoolPipe)),
|
|
@@ -78,7 +77,7 @@ __decorate([
|
|
|
78
77
|
__decorate([
|
|
79
78
|
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT_REFRESH)),
|
|
80
79
|
(0, common_1.Get)(),
|
|
81
|
-
__param(0, (0,
|
|
80
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
82
81
|
__param(1, (0, tokens_decorator_1.Tokens)('refreshToken')),
|
|
83
82
|
__param(2, (0, common_1.Res)()),
|
|
84
83
|
__metadata("design:type", Function),
|
|
@@ -87,20 +86,18 @@ __decorate([
|
|
|
87
86
|
], CoreAuthController.prototype, "refreshToken", null);
|
|
88
87
|
__decorate([
|
|
89
88
|
(0, common_1.Post)(),
|
|
90
|
-
__param(0, (0,
|
|
91
|
-
__param(1, (0, common_1.
|
|
92
|
-
__param(2, (0, common_1.Body)('input')),
|
|
89
|
+
__param(0, (0, common_1.Res)()),
|
|
90
|
+
__param(1, (0, common_1.Body)('input')),
|
|
93
91
|
__metadata("design:type", Function),
|
|
94
|
-
__metadata("design:paramtypes", [Object,
|
|
92
|
+
__metadata("design:paramtypes", [Object, core_auth_sign_in_input_1.CoreAuthSignInInput]),
|
|
95
93
|
__metadata("design:returntype", Promise)
|
|
96
94
|
], CoreAuthController.prototype, "signIn", null);
|
|
97
95
|
__decorate([
|
|
98
96
|
(0, common_1.Post)(),
|
|
99
|
-
__param(0, (0,
|
|
100
|
-
__param(1, (0,
|
|
101
|
-
__param(2, (0, graphql_1.Args)('input')),
|
|
97
|
+
__param(0, (0, common_1.Res)()),
|
|
98
|
+
__param(1, (0, graphql_1.Args)('input')),
|
|
102
99
|
__metadata("design:type", Function),
|
|
103
|
-
__metadata("design:paramtypes", [Object,
|
|
100
|
+
__metadata("design:paramtypes", [Object, core_auth_sign_up_input_1.CoreAuthSignUpInput]),
|
|
104
101
|
__metadata("design:returntype", Promise)
|
|
105
102
|
], CoreAuthController.prototype, "signUp", null);
|
|
106
103
|
CoreAuthController = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmG;AACnG,
|
|
1
|
+
{"version":3,"file":"core-auth.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Response as ResponseType } from 'express';
|
|
2
|
-
import {
|
|
2
|
+
import { ServiceOptions } from '../../common/interfaces/service-options.interface';
|
|
3
3
|
import { ConfigService } from '../../common/services/config.service';
|
|
4
4
|
import { CoreAuthModel } from './core-auth.model';
|
|
5
5
|
import { CoreAuthSignInInput } from './inputs/core-auth-sign-in.input';
|
|
@@ -16,10 +16,10 @@ export declare class CoreAuthResolver {
|
|
|
16
16
|
refreshToken(user: ICoreAuthUser, refreshToken: string, ctx: {
|
|
17
17
|
res: ResponseType;
|
|
18
18
|
}): Promise<CoreAuthModel>;
|
|
19
|
-
signIn(
|
|
19
|
+
signIn(serviceOptions: ServiceOptions, ctx: {
|
|
20
20
|
res: ResponseType;
|
|
21
21
|
}, input: CoreAuthSignInInput): Promise<CoreAuthModel>;
|
|
22
|
-
signUp(
|
|
22
|
+
signUp(serviceOptions: ServiceOptions, ctx: {
|
|
23
23
|
res: ResponseType;
|
|
24
24
|
}, input: CoreAuthSignUpInput): Promise<CoreAuthModel>;
|
|
25
25
|
protected processCookies(ctx: {
|
|
@@ -15,7 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.CoreAuthResolver = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const graphql_1 = require("@nestjs/graphql");
|
|
18
|
-
const
|
|
18
|
+
const current_user_decorator_1 = require("../../common/decorators/current-user.decorator");
|
|
19
|
+
const graphql_service_options_decorator_1 = require("../../common/decorators/graphql-service-options.decorator");
|
|
19
20
|
const config_service_1 = require("../../common/services/config.service");
|
|
20
21
|
const auth_guard_strategy_enum_1 = require("./auth-guard-strategy.enum");
|
|
21
22
|
const core_auth_model_1 = require("./core-auth.model");
|
|
@@ -37,12 +38,12 @@ let CoreAuthResolver = class CoreAuthResolver {
|
|
|
37
38
|
const result = await this.authService.refreshTokens(user, refreshToken);
|
|
38
39
|
return this.processCookies(ctx, result);
|
|
39
40
|
}
|
|
40
|
-
async signIn(
|
|
41
|
-
const result = await this.authService.signIn(input,
|
|
41
|
+
async signIn(serviceOptions, ctx, input) {
|
|
42
|
+
const result = await this.authService.signIn(input, serviceOptions);
|
|
42
43
|
return this.processCookies(ctx, result);
|
|
43
44
|
}
|
|
44
|
-
async signUp(
|
|
45
|
-
const result = await this.authService.signUp(input,
|
|
45
|
+
async signUp(serviceOptions, ctx, input) {
|
|
46
|
+
const result = await this.authService.signUp(input, serviceOptions);
|
|
46
47
|
return this.processCookies(ctx, result);
|
|
47
48
|
}
|
|
48
49
|
processCookies(ctx, result) {
|
|
@@ -67,7 +68,7 @@ let CoreAuthResolver = class CoreAuthResolver {
|
|
|
67
68
|
__decorate([
|
|
68
69
|
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
69
70
|
(0, graphql_1.Mutation)((returns) => Boolean, { description: 'Logout user (from specific device)' }),
|
|
70
|
-
__param(0, (0,
|
|
71
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
71
72
|
__param(1, (0, graphql_1.Context)()),
|
|
72
73
|
__param(2, (0, tokens_decorator_1.Tokens)('token')),
|
|
73
74
|
__param(3, (0, graphql_1.Args)('allDevices', { nullable: true })),
|
|
@@ -78,7 +79,7 @@ __decorate([
|
|
|
78
79
|
__decorate([
|
|
79
80
|
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT_REFRESH)),
|
|
80
81
|
(0, graphql_1.Mutation)((returns) => core_auth_model_1.CoreAuthModel, { description: 'Refresh tokens (for specific device)' }),
|
|
81
|
-
__param(0, (0,
|
|
82
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
82
83
|
__param(1, (0, tokens_decorator_1.Tokens)('refreshToken')),
|
|
83
84
|
__param(2, (0, graphql_1.Context)()),
|
|
84
85
|
__metadata("design:type", Function),
|
|
@@ -89,7 +90,7 @@ __decorate([
|
|
|
89
90
|
(0, graphql_1.Mutation)((returns) => core_auth_model_1.CoreAuthModel, {
|
|
90
91
|
description: 'Sign in user via email and password and get JWT tokens (for specific device)',
|
|
91
92
|
}),
|
|
92
|
-
__param(0, (0,
|
|
93
|
+
__param(0, (0, graphql_service_options_decorator_1.GraphQLServiceOptions)({ gqlPath: 'signIn.user' })),
|
|
93
94
|
__param(1, (0, graphql_1.Context)()),
|
|
94
95
|
__param(2, (0, graphql_1.Args)('input')),
|
|
95
96
|
__metadata("design:type", Function),
|
|
@@ -98,7 +99,7 @@ __decorate([
|
|
|
98
99
|
], CoreAuthResolver.prototype, "signIn", null);
|
|
99
100
|
__decorate([
|
|
100
101
|
(0, graphql_1.Mutation)((returns) => core_auth_model_1.CoreAuthModel, { description: 'Register a new user account (on specific device)' }),
|
|
101
|
-
__param(0, (0,
|
|
102
|
+
__param(0, (0, graphql_service_options_decorator_1.GraphQLServiceOptions)({ gqlPath: 'signUp.user' })),
|
|
102
103
|
__param(1, (0, graphql_1.Context)()),
|
|
103
104
|
__param(2, (0, graphql_1.Args)('input')),
|
|
104
105
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"core-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,6CAAoE;AAEpE,2FAA6E;AAC7E,iHAAkG;AAElG,yEAAqE;AACrE,yEAA+D;AAC/D,uDAAkD;AAClD,oDAAgD;AAChD,8EAAuE;AACvE,8EAAuE;AAEvE,oEAA+D;AAC/D,yDAA4C;AAMrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAI3B,YAA+B,WAA4B,EAAqB,aAA4B;QAA7E,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAW1G,AAAN,KAAK,CAAC,MAAM,CACK,WAA0B,EAC9B,GAA0B,EACpB,KAAa,EACU,UAAoB;QAE5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAOK,AAAN,KAAK,CAAC,YAAY,CACD,IAAmB,EACV,YAAoB,EACjC,GAA0B;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CACyC,cAA8B,EACtE,GAA0B,EACtB,KAA0B;QAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAMK,AAAN,KAAK,CAAC,MAAM,CACyC,cAA8B,EACtE,GAA0B,EACtB,KAA0B;QAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IASS,cAAc,CAAC,GAA0B,EAAE,MAAW;QAE9D,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;YAEpD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,OAAO,MAAM,CAAC;aACf;YACD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAG/E,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,OAAO,MAAM,CAAC,KAAK,CAAC;aACrB;YACD,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,OAAO,MAAM,CAAC,YAAY,CAAC;aAC5B;SACF;QAGD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAnFO;IAFL,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IAEnF,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,yBAAM,EAAC,OAAO,CAAC,CAAA;IACf,WAAA,IAAA,cAAI,EAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;8CAIxC;AAOK;IAFL,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,WAAW,CAAC,CAAC;IACnD,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;IAE3F,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,yBAAM,EAAC,cAAc,CAAC,CAAA;IACtB,WAAA,IAAA,iBAAO,GAAE,CAAA;;;;oDAIX;AAQK;IAHL,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,+BAAa,EAAE;QACpC,WAAW,EAAE,8EAA8E;KAC5F,CAAC;IAEC,WAAA,IAAA,yDAAqB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACjD,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,6CAAmB;;8CAI1C;AAMK;IADL,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;IAEvG,WAAA,IAAA,yDAAqB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACjD,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,6CAAmB;;8CAI1C;AAjEU,gBAAgB;IAD5B,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qCAKR,mCAAe,EAAoC,8BAAa;GAJjG,gBAAgB,CAkG5B;AAlGY,4CAAgB"}
|
|
@@ -14,7 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.CoreFileController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
-
const
|
|
17
|
+
const current_user_decorator_1 = require("../../common/decorators/current-user.decorator");
|
|
18
18
|
const core_user_model_1 = require("../user/core-user.model");
|
|
19
19
|
const core_file_service_1 = require("./core-file.service");
|
|
20
20
|
let CoreFileController = class CoreFileController {
|
|
@@ -39,7 +39,7 @@ __decorate([
|
|
|
39
39
|
(0, common_1.Get)(':filename'),
|
|
40
40
|
__param(0, (0, common_1.Param)('filename')),
|
|
41
41
|
__param(1, (0, common_1.Res)()),
|
|
42
|
-
__param(2, (0,
|
|
42
|
+
__param(2, (0, current_user_decorator_1.CurrentUser)()),
|
|
43
43
|
__metadata("design:type", Function),
|
|
44
44
|
__metadata("design:paramtypes", [String, Object, core_user_model_1.CoreUserModel]),
|
|
45
45
|
__metadata("design:returntype", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-file.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"core-file.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AACrG,2FAA6E;AAC7E,6DAAwD;AACxD,2DAAsD;AAM/C,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAItC,YAAgC,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAM1D,AAAN,KAAK,CAAC,OAAO,CAAoB,QAAgB,EAAS,GAAG,EAAiB,IAAmB;QAC/F,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;SAChE;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,CAAC,gBAAgB,CAAC,CAAC;SAC/C;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAdO;IADL,IAAA,YAAG,EAAC,WAAW,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAO,WAAA,IAAA,oCAAW,GAAE,CAAA;;qDAAO,+BAAa;;iDAahG;AAvBmB,kBAAkB;IADvC,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAK2B,mCAAe;GAJxC,kBAAkB,CAwBvC;AAxBqB,gDAAkB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from './core.module';
|
|
2
2
|
export * from './core/common/args/filter.args';
|
|
3
3
|
export * from './core/common/args/pagination.args';
|
|
4
|
+
export * from './core/common/decorators/current-user.decorator';
|
|
5
|
+
export * from './core/common/decorators/graphql-populate.decorator';
|
|
6
|
+
export * from './core/common/decorators/graphql-service-options.decorator';
|
|
4
7
|
export * from './core/common/decorators/graphql-user.decorator';
|
|
5
8
|
export * from './core/common/decorators/rest-user.decorator';
|
|
6
9
|
export * from './core/common/decorators/restricted.decorator';
|
|
@@ -15,6 +18,7 @@ export * from './core/common/helpers/common.helper';
|
|
|
15
18
|
export * from './core/common/helpers/config.helper';
|
|
16
19
|
export * from './core/common/helpers/context.helper';
|
|
17
20
|
export * from './core/common/helpers/db.helper';
|
|
21
|
+
export * from './core/common/helpers/decorator.helper';
|
|
18
22
|
export * from './core/common/helpers/file.helper';
|
|
19
23
|
export * from './core/common/helpers/filter.helper';
|
|
20
24
|
export * from './core/common/helpers/graphql.helper';
|
|
@@ -60,6 +64,7 @@ export * from './core/common/types/is-one-of.type';
|
|
|
60
64
|
export * from './core/common/types/maybe-promise.type';
|
|
61
65
|
export * from './core/common/types/plain-input.type';
|
|
62
66
|
export * from './core/common/types/plain-object.type';
|
|
67
|
+
export * from './core/common/types/populate-config.type';
|
|
63
68
|
export * from './core/common/types/remove-methods.type';
|
|
64
69
|
export * from './core/common/types/require-only-one.type';
|
|
65
70
|
export * from './core/common/types/required-at-least-one.type';
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./core.module"), exports);
|
|
18
18
|
__exportStar(require("./core/common/args/filter.args"), exports);
|
|
19
19
|
__exportStar(require("./core/common/args/pagination.args"), exports);
|
|
20
|
+
__exportStar(require("./core/common/decorators/current-user.decorator"), exports);
|
|
21
|
+
__exportStar(require("./core/common/decorators/graphql-populate.decorator"), exports);
|
|
22
|
+
__exportStar(require("./core/common/decorators/graphql-service-options.decorator"), exports);
|
|
20
23
|
__exportStar(require("./core/common/decorators/graphql-user.decorator"), exports);
|
|
21
24
|
__exportStar(require("./core/common/decorators/rest-user.decorator"), exports);
|
|
22
25
|
__exportStar(require("./core/common/decorators/restricted.decorator"), exports);
|
|
@@ -31,6 +34,7 @@ __exportStar(require("./core/common/helpers/common.helper"), exports);
|
|
|
31
34
|
__exportStar(require("./core/common/helpers/config.helper"), exports);
|
|
32
35
|
__exportStar(require("./core/common/helpers/context.helper"), exports);
|
|
33
36
|
__exportStar(require("./core/common/helpers/db.helper"), exports);
|
|
37
|
+
__exportStar(require("./core/common/helpers/decorator.helper"), exports);
|
|
34
38
|
__exportStar(require("./core/common/helpers/file.helper"), exports);
|
|
35
39
|
__exportStar(require("./core/common/helpers/filter.helper"), exports);
|
|
36
40
|
__exportStar(require("./core/common/helpers/graphql.helper"), exports);
|
|
@@ -76,6 +80,7 @@ __exportStar(require("./core/common/types/is-one-of.type"), exports);
|
|
|
76
80
|
__exportStar(require("./core/common/types/maybe-promise.type"), exports);
|
|
77
81
|
__exportStar(require("./core/common/types/plain-input.type"), exports);
|
|
78
82
|
__exportStar(require("./core/common/types/plain-object.type"), exports);
|
|
83
|
+
__exportStar(require("./core/common/types/populate-config.type"), exports);
|
|
79
84
|
__exportStar(require("./core/common/types/remove-methods.type"), exports);
|
|
80
85
|
__exportStar(require("./core/common/types/require-only-one.type"), exports);
|
|
81
86
|
__exportStar(require("./core/common/types/required-at-least-one.type"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,qEAAmD;AACnD,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,iGAA+E;AAC/E,yFAAuE;AACvE,yFAAuE;AACvE,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,2FAAyE;AACzE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,8EAA4D;AAC5D,sFAAoE;AACpE,+EAA6D;AAC7D,2EAAyD;AACzD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,uEAAqD;AAMrD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,yEAAuD;AACvD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,qEAAmD;AACnD,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,2EAAyD;AACzD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,iGAA+E;AAC/E,yFAAuE;AACvE,yFAAuE;AACvE,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,2FAAyE;AACzE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,8EAA4D;AAC5D,sFAAoE;AACpE,+EAA6D;AAC7D,2EAAyD;AACzD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,uEAAqD;AAMrD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Response as ResponseType } from 'express';
|
|
2
|
-
import {
|
|
2
|
+
import { ServiceOptions } from '../../../core/common/interfaces/service-options.interface';
|
|
3
3
|
import { ConfigService } from '../../../core/common/services/config.service';
|
|
4
4
|
import { CoreAuthResolver } from '../../../core/modules/auth/core-auth.resolver';
|
|
5
5
|
import { Auth } from './auth.model';
|
|
@@ -10,10 +10,10 @@ export declare class AuthResolver extends CoreAuthResolver {
|
|
|
10
10
|
protected readonly authService: AuthService;
|
|
11
11
|
protected readonly configService: ConfigService;
|
|
12
12
|
constructor(authService: AuthService, configService: ConfigService);
|
|
13
|
-
signIn(
|
|
13
|
+
signIn(serviceOptions: ServiceOptions, ctx: {
|
|
14
14
|
res: ResponseType;
|
|
15
15
|
}, input: AuthSignInInput): Promise<Auth>;
|
|
16
|
-
signUp(
|
|
16
|
+
signUp(serviceOptions: ServiceOptions, ctx: {
|
|
17
17
|
res: ResponseType;
|
|
18
18
|
}, input: AuthSignUpInput): Promise<Auth>;
|
|
19
19
|
}
|
|
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AuthResolver = void 0;
|
|
16
16
|
const graphql_1 = require("@nestjs/graphql");
|
|
17
|
+
const graphql_service_options_decorator_1 = require("../../../core/common/decorators/graphql-service-options.decorator");
|
|
17
18
|
const config_service_1 = require("../../../core/common/services/config.service");
|
|
18
19
|
const core_auth_resolver_1 = require("../../../core/modules/auth/core-auth.resolver");
|
|
19
20
|
const auth_model_1 = require("./auth.model");
|
|
@@ -26,23 +27,21 @@ let AuthResolver = class AuthResolver extends core_auth_resolver_1.CoreAuthResol
|
|
|
26
27
|
this.authService = authService;
|
|
27
28
|
this.configService = configService;
|
|
28
29
|
}
|
|
29
|
-
async signIn(
|
|
30
|
+
async signIn(serviceOptions, ctx, input) {
|
|
30
31
|
const result = await this.authService.signIn(input, {
|
|
31
|
-
|
|
32
|
+
...serviceOptions,
|
|
32
33
|
inputType: auth_sign_in_input_1.AuthSignInInput,
|
|
33
34
|
});
|
|
34
35
|
return this.processCookies(ctx, result);
|
|
35
36
|
}
|
|
36
|
-
async signUp(
|
|
37
|
-
const result = await this.authService.signUp(input,
|
|
38
|
-
fieldSelection: { info, select: 'signUp' },
|
|
39
|
-
});
|
|
37
|
+
async signUp(serviceOptions, ctx, input) {
|
|
38
|
+
const result = await this.authService.signUp(input, serviceOptions);
|
|
40
39
|
return this.processCookies(ctx, result);
|
|
41
40
|
}
|
|
42
41
|
};
|
|
43
42
|
__decorate([
|
|
44
43
|
(0, graphql_1.Mutation)(() => auth_model_1.Auth, { description: 'Sign in and get JWT token' }),
|
|
45
|
-
__param(0, (0,
|
|
44
|
+
__param(0, (0, graphql_service_options_decorator_1.GraphQLServiceOptions)({ gqlPath: 'signIn.user' })),
|
|
46
45
|
__param(1, (0, graphql_1.Context)()),
|
|
47
46
|
__param(2, (0, graphql_1.Args)('input')),
|
|
48
47
|
__metadata("design:type", Function),
|
|
@@ -53,7 +52,7 @@ __decorate([
|
|
|
53
52
|
(0, graphql_1.Mutation)(() => auth_model_1.Auth, {
|
|
54
53
|
description: 'Sign up user and get JWT token',
|
|
55
54
|
}),
|
|
56
|
-
__param(0, (0,
|
|
55
|
+
__param(0, (0, graphql_service_options_decorator_1.GraphQLServiceOptions)({ gqlPath: 'signUp.user' })),
|
|
57
56
|
__param(1, (0, graphql_1.Context)()),
|
|
58
57
|
__param(2, (0, graphql_1.Args)('input')),
|
|
59
58
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAoE;AAEpE,yHAA0G;AAE1G,iFAA6E;AAC7E,sFAAiF;AACjF,6CAAoC;AACpC,iDAA6C;AAC7C,oEAA8D;AAC9D,oEAA8D;AAMvD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAgB;IAIhD,YAC8B,WAAwB,EACxB,aAA4B;QAExD,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;IAG1D,CAAC;IAMc,AAAN,KAAK,CAAC,MAAM,CACgC,cAA8B,EACtE,GAA0B,EACtB,KAAsB;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YAClD,GAAG,cAAc;YACjB,SAAS,EAAE,oCAAe;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAQc,AAAN,KAAK,CAAC,MAAM,CACgC,cAA8B,EACtE,GAA0B,EACtB,KAAsB;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AA1BgB;IADd,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAEhE,WAAA,IAAA,yDAAqB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACjD,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,oCAAe;;0CAOtC;AAQc;IAHd,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE;QACpB,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IAEC,WAAA,IAAA,yDAAqB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACjD,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,oCAAe;;0CAItC;AAxCU,YAAY;IADxB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;qCAMwB,0BAAW;QACT,8BAAa;GAN/C,YAAY,CAyCxB;AAzCY,oCAAY"}
|
|
@@ -17,7 +17,7 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const controller_decorator_1 = require("@nestjs/common/decorators/core/controller.decorator");
|
|
18
18
|
const platform_express_1 = require("@nestjs/platform-express");
|
|
19
19
|
const config_env_1 = require("../../../config.env");
|
|
20
|
-
const
|
|
20
|
+
const current_user_decorator_1 = require("../../../core/common/decorators/current-user.decorator");
|
|
21
21
|
const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
|
|
22
22
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
23
23
|
const file_helper_1 = require("../../../core/common/helpers/file.helper");
|
|
@@ -38,7 +38,7 @@ __decorate([
|
|
|
38
38
|
destination: config_env_1.default.staticAssets.path + '/avatars',
|
|
39
39
|
}))),
|
|
40
40
|
__param(0, (0, common_1.UploadedFile)()),
|
|
41
|
-
__param(1, (0,
|
|
41
|
+
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
|
42
42
|
__metadata("design:type", Function),
|
|
43
43
|
__metadata("design:paramtypes", [Object, user_model_1.User]),
|
|
44
44
|
__metadata("design:returntype", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,mGAAqF;AACrF,qFAAwE;AACxE,oEAAgE;AAChE,0EAAuF;AACvF,6CAAoC;AACpC,iDAA6C;AAMtC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAI3B,YAA+B,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAe5D,UAAU,CAAiB,IAAyB,EAAiB,IAAU;QAC7E,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAbC;IAAC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,MAAM,CAAC;IACtB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,kCAAe,EACb,MAAM,EACN,IAAA,yCAA2B,EAAC;QAC1B,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI,GAAG,UAAU;KACtD,CAAC,CACH,CACF;IACW,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,oCAAW,GAAE,CAAA;;6CAAO,iBAAI;;kDAE9E;AArBU,gBAAgB;IAD5B,IAAA,iCAAU,EAAC,QAAQ,CAAC;qCAK0B,0BAAW;GAJ7C,gBAAgB,CAsB5B;AAtBY,4CAAgB"}
|