@lenne.tech/nest-server 8.6.4 → 8.6.7
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 +4 -2
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.js +4 -4
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/helpers/db.helper.js +3 -2
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/file.helper.js +4 -7
- package/dist/core/common/helpers/file.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +7 -0
- package/dist/core/common/helpers/filter.helper.js +38 -1
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.d.ts +6 -0
- package/dist/core/common/helpers/input.helper.js +28 -6
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +2 -0
- package/dist/core/common/helpers/service.helper.js +7 -9
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/filter.input.js.map +1 -1
- package/dist/core/common/interfaces/prepare-input-options.interface.d.ts +1 -0
- package/dist/core/common/interfaces/prepare-output-options.interface.d.ts +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +16 -13
- package/dist/core/common/interfaces/service-options.interface.d.ts +3 -1
- package/dist/core/common/models/core-model.model.js +4 -1
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/services/crud.service.js +9 -4
- package/dist/core/common/services/crud.service.js.map +1 -1
- package/dist/core/common/services/module.service.js +14 -2
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/common/types/field-selection.type.d.ts +1 -1
- package/dist/core/modules/auth/guards/roles.guard.js +2 -1
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/user/core-user.service.js +9 -13
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.d.ts +3 -2
- package/dist/core.module.js +26 -4
- package/dist/core.module.js.map +1 -1
- package/dist/main.js +13 -0
- package/dist/main.js.map +1 -1
- package/dist/server/modules/auth/auth.module.js +1 -2
- package/dist/server/modules/auth/auth.module.js.map +1 -1
- package/dist/server/modules/file/file.controller.js +1 -1
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/file/file.resolver.d.ts +5 -0
- package/dist/server/modules/file/file.resolver.js +51 -0
- package/dist/server/modules/file/file.resolver.js.map +1 -0
- package/dist/server/modules/user/user.model.d.ts +14 -1
- package/dist/server/modules/user/user.resolver.js +2 -1
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/server.module.js +3 -1
- package/dist/server/server.module.js.map +1 -1
- package/dist/test/test.helper.d.ts +4 -1
- package/dist/test/test.helper.js +51 -25
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +43 -37
- package/src/config.env.ts +4 -2
- package/src/core/common/decorators/restricted.decorator.ts +1 -2
- package/src/core/common/helpers/db.helper.ts +7 -2
- package/src/core/common/helpers/file.helper.ts +9 -11
- package/src/core/common/helpers/filter.helper.ts +66 -1
- package/src/core/common/helpers/input.helper.ts +61 -2
- package/src/core/common/helpers/service.helper.ts +8 -9
- package/src/core/common/inputs/filter.input.ts +0 -1
- package/src/core/common/interfaces/prepare-input-options.interface.ts +1 -0
- package/src/core/common/interfaces/prepare-output-options.interface.ts +1 -0
- package/src/core/common/interfaces/server-options.interface.ts +68 -52
- package/src/core/common/interfaces/service-options.interface.ts +8 -2
- package/src/core/common/models/core-model.model.ts +4 -1
- package/src/core/common/services/crud.service.ts +7 -4
- package/src/core/common/services/module.service.ts +17 -1
- package/src/core/common/types/field-selection.type.ts +1 -1
- package/src/core/modules/auth/guards/roles.guard.ts +1 -1
- package/src/core/modules/user/core-user.service.ts +13 -22
- package/src/core.module.ts +38 -6
- package/src/main.ts +16 -0
- package/src/server/modules/auth/auth.module.ts +1 -2
- package/src/server/modules/file/file.controller.ts +1 -1
- package/src/server/modules/file/file.resolver.ts +55 -0
- package/src/server/modules/user/user.resolver.ts +1 -1
- package/src/server/server.module.ts +5 -1
- package/src/test/test.helper.ts +92 -34
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { ApolloDriverConfig } from '@nestjs/apollo';
|
|
2
|
+
import { GqlModuleAsyncOptions } from '@nestjs/graphql';
|
|
2
3
|
import { JwtModuleOptions } from '@nestjs/jwt';
|
|
3
4
|
import { MongooseModuleOptions } from '@nestjs/mongoose/dist/interfaces/mongoose-options.interface';
|
|
4
5
|
import { ServeStaticOptions } from '@nestjs/platform-express/interfaces/serve-static-options.interface';
|
|
5
6
|
import * as SMTPTransport from 'nodemailer/lib/smtp-transport';
|
|
6
7
|
import { MailjetOptions } from './mailjet-options.interface';
|
|
7
8
|
export interface IServerOptions {
|
|
9
|
+
email?: {
|
|
10
|
+
defaultSender?: {
|
|
11
|
+
email?: string;
|
|
12
|
+
name?: string;
|
|
13
|
+
};
|
|
14
|
+
mailjet?: MailjetOptions;
|
|
15
|
+
passwordResetLink?: string;
|
|
16
|
+
smtp?: SMTPTransport | SMTPTransport.Options | string;
|
|
17
|
+
verificationLink?: string;
|
|
18
|
+
};
|
|
8
19
|
env?: string;
|
|
20
|
+
execAfterInit?: string;
|
|
9
21
|
graphQl?: {
|
|
10
22
|
driver?: ApolloDriverConfig;
|
|
11
23
|
enableSubscriptionAuth?: boolean;
|
|
24
|
+
options?: GqlModuleAsyncOptions;
|
|
12
25
|
};
|
|
13
26
|
jwt?: {
|
|
14
27
|
privateKey?: string;
|
|
@@ -17,27 +30,17 @@ export interface IServerOptions {
|
|
|
17
30
|
secretOrKeyProvider?: (request: Record<string, any>, rawJwtToken: string, done: (err: any, secret: string) => any) => any;
|
|
18
31
|
secretOrPrivateKey?: string;
|
|
19
32
|
} & JwtModuleOptions;
|
|
20
|
-
port?: number;
|
|
21
|
-
email?: {
|
|
22
|
-
smtp?: SMTPTransport | SMTPTransport.Options | string;
|
|
23
|
-
mailjet?: MailjetOptions;
|
|
24
|
-
verificationLink?: string;
|
|
25
|
-
passwordResetLink?: string;
|
|
26
|
-
defaultSender?: {
|
|
27
|
-
email?: string;
|
|
28
|
-
name?: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
33
|
mongoose?: {
|
|
32
34
|
uri: string;
|
|
33
35
|
options?: MongooseModuleOptions;
|
|
34
36
|
};
|
|
37
|
+
port?: number;
|
|
35
38
|
staticAssets?: {
|
|
36
|
-
path?: string;
|
|
37
39
|
options?: ServeStaticOptions;
|
|
40
|
+
path?: string;
|
|
38
41
|
};
|
|
39
42
|
templates?: {
|
|
40
|
-
path?: string;
|
|
41
43
|
engine?: string;
|
|
44
|
+
path?: string;
|
|
42
45
|
};
|
|
43
46
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Model } from 'mongoose';
|
|
1
|
+
import { Model, PopulateOptions } from 'mongoose';
|
|
2
2
|
import { FieldSelection } from '../types/field-selection.type';
|
|
3
3
|
import { PrepareInputOptions } from './prepare-input-options.interface';
|
|
4
4
|
import { PrepareOutputOptions } from './prepare-output-options.interface';
|
|
@@ -11,8 +11,10 @@ export interface ServiceOptions {
|
|
|
11
11
|
roles?: string[];
|
|
12
12
|
};
|
|
13
13
|
fieldSelection?: FieldSelection;
|
|
14
|
+
force?: boolean;
|
|
14
15
|
inputType?: new (...params: any[]) => any;
|
|
15
16
|
outputType?: new (...params: any[]) => any;
|
|
17
|
+
populate?: PopulateOptions | (PopulateOptions | string)[];
|
|
16
18
|
processFieldSelection?: {
|
|
17
19
|
model?: new (...args: any[]) => any;
|
|
18
20
|
dbModel?: Model<any>;
|
|
@@ -22,7 +22,10 @@ class CoreModel {
|
|
|
22
22
|
}
|
|
23
23
|
map(data, options = {}) {
|
|
24
24
|
const config = Object.assign({ cloneDeep: false, funcAllowed: false, init: undefined, mapId: false }, options);
|
|
25
|
-
|
|
25
|
+
if (config.init) {
|
|
26
|
+
this.init(config.init);
|
|
27
|
+
}
|
|
28
|
+
return (0, model_helper_1.map)(data, this, config);
|
|
26
29
|
}
|
|
27
30
|
mapDeep(data, options = {}) {
|
|
28
31
|
const config = Object.assign({ cloneDeep: true, funcAllowed: false, init: undefined, mapId: false }, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-model.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-model.model.ts"],"names":[],"mappings":";;;AAAA,0DAA8C;AAY9C,MAAsB,SAAS;IAItB,MAAM,CAAC,IAAI,CAAuD,GAAG,IAAW;QACrF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKM,MAAM,CAAC,GAAG,CAEf,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAUM,MAAM,CAAC,OAAO,CAEnB,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAMM,IAAI,CAAC,GAAG,IAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAKM,GAAG,CACR,IAAyC,EACzC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,
|
|
1
|
+
{"version":3,"file":"core-model.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-model.model.ts"],"names":[],"mappings":";;;AAAA,0DAA8C;AAY9C,MAAsB,SAAS;IAItB,MAAM,CAAC,IAAI,CAAuD,GAAG,IAAW;QACrF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKM,MAAM,CAAC,GAAG,CAEf,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAUM,MAAM,CAAC,OAAO,CAEnB,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAMM,IAAI,CAAC,GAAG,IAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAKM,GAAG,CACR,IAAyC,EACzC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxB;QACD,OAAO,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAUM,OAAO,CACZ,IAAyC,EACzC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AAnHD,8BAmHC"}
|
|
@@ -4,12 +4,15 @@ exports.CrudService = void 0;
|
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const config_helper_1 = require("../helpers/config.helper");
|
|
6
6
|
const filter_helper_1 = require("../helpers/filter.helper");
|
|
7
|
+
const input_helper_1 = require("../helpers/input.helper");
|
|
7
8
|
const module_service_1 = require("./module.service");
|
|
8
9
|
class CrudService extends module_service_1.ModuleService {
|
|
9
10
|
async create(input, serviceOptions) {
|
|
10
11
|
(0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
|
|
11
12
|
return this.process(async (data) => {
|
|
12
|
-
|
|
13
|
+
var _a;
|
|
14
|
+
const currentUserId = (_a = serviceOptions === null || serviceOptions === void 0 ? void 0 : serviceOptions.currentUser) === null || _a === void 0 ? void 0 : _a.id;
|
|
15
|
+
return new this.mainDbModel(Object.assign(Object.assign({}, data.input), { createdBy: currentUserId, updatedBy: currentUserId })).save();
|
|
13
16
|
}, { input, serviceOptions });
|
|
14
17
|
}
|
|
15
18
|
async get(id, serviceOptions) {
|
|
@@ -39,7 +42,9 @@ class CrudService extends module_service_1.ModuleService {
|
|
|
39
42
|
throw new common_1.NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
|
|
40
43
|
}
|
|
41
44
|
return this.process(async (data) => {
|
|
42
|
-
|
|
45
|
+
var _a;
|
|
46
|
+
const currentUserId = (_a = serviceOptions === null || serviceOptions === void 0 ? void 0 : serviceOptions.currentUser) === null || _a === void 0 ? void 0 : _a.id;
|
|
47
|
+
return await (0, input_helper_1.assignPlain)(dbObject, data.input, { updatedBy: currentUserId }).save();
|
|
43
48
|
}, { dbObject, input, serviceOptions });
|
|
44
49
|
}
|
|
45
50
|
async delete(id, serviceOptions) {
|
|
@@ -47,10 +52,10 @@ class CrudService extends module_service_1.ModuleService {
|
|
|
47
52
|
if (!dbObject) {
|
|
48
53
|
throw new common_1.NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
|
|
49
54
|
}
|
|
50
|
-
return this.process(async (
|
|
55
|
+
return this.process(async () => {
|
|
51
56
|
await this.mainDbModel.findByIdAndDelete(id).exec();
|
|
52
57
|
return dbObject;
|
|
53
|
-
}, { dbObject,
|
|
58
|
+
}, { dbObject, serviceOptions });
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
exports.CrudService = CrudService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAEnD,4DAAiD;AACjD,4DAAoE;
|
|
1
|
+
{"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,19 @@ class ModuleService {
|
|
|
16
16
|
return (0, input_helper_1.check)(input, currentUser, config);
|
|
17
17
|
}
|
|
18
18
|
async process(serviceFunc, options) {
|
|
19
|
-
const config = Object.assign({ checkRights: true, dbObject: options === null || options === void 0 ? void 0 : options.dbObject, input: options === null || options === void 0 ? void 0 : options.input, processFieldSelection: {}, prepareInput: {}, prepareOutput: {}, pubSub: true }, options === null || options === void 0 ? void 0 : options.serviceOptions);
|
|
19
|
+
const config = Object.assign({ checkRights: true, dbObject: options === null || options === void 0 ? void 0 : options.dbObject, force: false, input: options === null || options === void 0 ? void 0 : options.input, processFieldSelection: {}, prepareInput: {}, prepareOutput: {}, pubSub: true }, options === null || options === void 0 ? void 0 : options.serviceOptions);
|
|
20
|
+
if (config.force) {
|
|
21
|
+
config.checkRights = false;
|
|
22
|
+
if (typeof config.prepareInput === 'object') {
|
|
23
|
+
config.prepareInput.checkRoles = false;
|
|
24
|
+
}
|
|
25
|
+
if (typeof config.prepareOutput === 'object') {
|
|
26
|
+
config.prepareOutput.removeSecrets = false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (config.populate) {
|
|
30
|
+
config.fieldSelection = config.populate;
|
|
31
|
+
}
|
|
20
32
|
if (config.prepareInput && this.prepareInput) {
|
|
21
33
|
const opts = config.prepareInput;
|
|
22
34
|
if (!opts.targetModel && config.inputType) {
|
|
@@ -65,7 +77,7 @@ class ModuleService {
|
|
|
65
77
|
return result;
|
|
66
78
|
}
|
|
67
79
|
async prepareInput(input, options = {}) {
|
|
68
|
-
const config = Object.assign({
|
|
80
|
+
const config = Object.assign({}, options === null || options === void 0 ? void 0 : options.prepareInput);
|
|
69
81
|
return (0, service_helper_1.prepareInput)(input, options.currentUser, config);
|
|
70
82
|
}
|
|
71
83
|
async prepareOutput(output, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { SelectionNode } from 'graphql';
|
|
2
2
|
import { PopulateOptions } from 'mongoose';
|
|
3
3
|
import { ResolveSelector } from '../interfaces/resolve-selector.interface';
|
|
4
|
-
export declare type FieldSelection = PopulateOptions[] | SelectionNode[] | ResolveSelector;
|
|
4
|
+
export declare type FieldSelection = PopulateOptions | (PopulateOptions | string)[] | SelectionNode[] | ResolveSelector;
|
|
@@ -21,6 +21,7 @@ let RolesGuard = class RolesGuard extends (0, auth_guard_1.AuthGuard)('jwt') {
|
|
|
21
21
|
this.reflector = reflector;
|
|
22
22
|
}
|
|
23
23
|
handleRequest(err, user, info, context) {
|
|
24
|
+
var _a;
|
|
24
25
|
const reflectorRoles = this.reflector.getAll('roles', [context.getHandler(), context.getClass()]);
|
|
25
26
|
const roles = reflectorRoles[0]
|
|
26
27
|
? reflectorRoles[1]
|
|
@@ -30,7 +31,7 @@ let RolesGuard = class RolesGuard extends (0, auth_guard_1.AuthGuard)('jwt') {
|
|
|
30
31
|
if (!roles || !roles.some((value) => !!value)) {
|
|
31
32
|
return user;
|
|
32
33
|
}
|
|
33
|
-
if (!user ||
|
|
34
|
+
if (!((_a = user === null || user === void 0 ? void 0 : user.hasRole) === null || _a === void 0 ? void 0 : _a.call(user, roles))) {
|
|
34
35
|
const args = graphql_1.GqlExecutionContext.create(context).getArgs();
|
|
35
36
|
if (user && roles.includes(role_enum_1.RoleEnum.S_USER)) {
|
|
36
37
|
return user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/roles.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6F;AAC7F,uCAAyC;AACzC,6CAAsD;AACtD,+DAA2D;AAC3D,6CAAyC;AAUzC,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,IAAA,sBAAS,EAAC,KAAK,CAAC;IAI9C,YAA+B,SAAoB;QACjD,KAAK,EAAE,CAAC;QADqB,cAAS,GAAT,SAAS,CAAW;IAEnD,CAAC;IAKD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"roles.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/roles.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6F;AAC7F,uCAAyC;AACzC,6CAAsD;AACtD,+DAA2D;AAC3D,6CAAyC;AAUzC,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,IAAA,sBAAS,EAAC,KAAK,CAAC;IAI9C,YAA+B,SAAoB;QACjD,KAAK,EAAE,CAAC;QADqB,cAAS,GAAT,SAAS,CAAW;IAEnD,CAAC;IAKD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;;QAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAa,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAa,cAAc,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAGD,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,qDAAG,KAAK,CAAC,CAAA,EAAE;YAE3B,MAAM,IAAI,GAAQ,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YAGhE,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAQ,CAAC,MAAM,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC;aACb;YAGD,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,UAAU,CAAC,OAAyB;QAClC,MAAM,GAAG,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IACvF,CAAC;CACF,CAAA;AAlDY,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAK+B,gBAAS;GAJxC,UAAU,CAkDtB;AAlDY,gCAAU"}
|
|
@@ -5,6 +5,7 @@ const common_1 = require("@nestjs/common");
|
|
|
5
5
|
const bcrypt = require("bcrypt");
|
|
6
6
|
const crypto = require("crypto");
|
|
7
7
|
const config_helper_1 = require("../../common/helpers/config.helper");
|
|
8
|
+
const input_helper_1 = require("../../common/helpers/input.helper");
|
|
8
9
|
const crud_service_1 = require("../../common/services/crud.service");
|
|
9
10
|
class CoreUserService extends crud_service_1.CrudService {
|
|
10
11
|
constructor(emailService, mainDbModel, mainModelConstructor) {
|
|
@@ -16,7 +17,9 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
16
17
|
async create(input, serviceOptions) {
|
|
17
18
|
serviceOptions = (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
|
|
18
19
|
return this.process(async (data) => {
|
|
19
|
-
|
|
20
|
+
var _a;
|
|
21
|
+
const currentUserId = (_a = serviceOptions === null || serviceOptions === void 0 ? void 0 : serviceOptions.currentUser) === null || _a === void 0 ? void 0 : _a._id;
|
|
22
|
+
const createdUser = new this.mainDbModel(Object.assign(Object.assign({}, data.input), { verificationToken: crypto.randomBytes(32).toString('hex'), createdBy: currentUserId, updatedBy: currentUserId }));
|
|
20
23
|
try {
|
|
21
24
|
await createdUser.save();
|
|
22
25
|
}
|
|
@@ -57,11 +60,7 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
57
60
|
throw new Error('User already verified');
|
|
58
61
|
}
|
|
59
62
|
return this.process(async () => {
|
|
60
|
-
await
|
|
61
|
-
verified: true,
|
|
62
|
-
verificationToken: null,
|
|
63
|
-
}).save();
|
|
64
|
-
return dbObject;
|
|
63
|
+
return await (0, input_helper_1.assignPlain)(dbObject, { verified: true, verificationToken: null }).save();
|
|
65
64
|
}, { dbObject, serviceOptions });
|
|
66
65
|
}
|
|
67
66
|
async resetPassword(token, newPassword, serviceOptions) {
|
|
@@ -70,11 +69,10 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
70
69
|
throw new common_1.NotFoundException(`No user found with password reset token: ${token}`);
|
|
71
70
|
}
|
|
72
71
|
return this.process(async () => {
|
|
73
|
-
await
|
|
72
|
+
return await (0, input_helper_1.assignPlain)(dbObject, {
|
|
74
73
|
password: await bcrypt.hash(newPassword, 10),
|
|
75
74
|
passwordResetToken: null,
|
|
76
75
|
}).save();
|
|
77
|
-
return dbObject;
|
|
78
76
|
}, { dbObject, serviceOptions });
|
|
79
77
|
}
|
|
80
78
|
async setPasswordResetTokenForEmail(email, serviceOptions) {
|
|
@@ -83,10 +81,8 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
83
81
|
throw new common_1.NotFoundException(`No user found with email: ${email}`);
|
|
84
82
|
}
|
|
85
83
|
return this.process(async () => {
|
|
86
|
-
|
|
87
|
-
dbObject.
|
|
88
|
-
await dbObject.save();
|
|
89
|
-
return dbObject;
|
|
84
|
+
dbObject.passwordResetToken = crypto.randomBytes(32).toString('hex');
|
|
85
|
+
return await dbObject.save();
|
|
90
86
|
}, { dbObject, serviceOptions });
|
|
91
87
|
}
|
|
92
88
|
async setRoles(userId, roles, serviceOptions) {
|
|
@@ -96,7 +92,7 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
96
92
|
if (roles.some((role) => typeof role !== 'string')) {
|
|
97
93
|
throw new common_1.BadRequestException('roles contains invalid values');
|
|
98
94
|
}
|
|
99
|
-
return this.process(async (
|
|
95
|
+
return this.process(async () => {
|
|
100
96
|
return await this.mainDbModel.findByIdAndUpdate(userId, { roles }).exec();
|
|
101
97
|
}, { serviceOptions });
|
|
102
98
|
}
|
|
@@ -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;AAEjC,sEAA2D;
|
|
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.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { DynamicModule } from '@nestjs/common';
|
|
1
|
+
import { DynamicModule, MiddlewareConsumer, NestModule } from '@nestjs/common';
|
|
2
2
|
import { IServerOptions } from './core/common/interfaces/server-options.interface';
|
|
3
|
-
export declare class CoreModule {
|
|
3
|
+
export declare class CoreModule implements NestModule {
|
|
4
|
+
configure(consumer: MiddlewareConsumer): void;
|
|
4
5
|
static forRoot(AuthService: any, AuthModule: any, options: Partial<IServerOptions>): DynamicModule;
|
|
5
6
|
}
|
package/dist/core.module.js
CHANGED
|
@@ -8,18 +8,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var CoreModule_1;
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CoreModule = void 0;
|
|
11
|
+
const apollo_1 = require("@nestjs/apollo");
|
|
11
12
|
const common_1 = require("@nestjs/common");
|
|
12
13
|
const core_1 = require("@nestjs/core");
|
|
13
14
|
const graphql_1 = require("@nestjs/graphql");
|
|
15
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
16
|
+
const graphql_upload_1 = require("graphql-upload");
|
|
14
17
|
const config_helper_1 = require("./core/common/helpers/config.helper");
|
|
15
18
|
const map_and_validate_pipe_1 = require("./core/common/pipes/map-and-validate.pipe");
|
|
16
19
|
const config_service_1 = require("./core/common/services/config.service");
|
|
17
20
|
const email_service_1 = require("./core/common/services/email.service");
|
|
18
|
-
const template_service_1 = require("./core/common/services/template.service");
|
|
19
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
20
21
|
const mailjet_service_1 = require("./core/common/services/mailjet.service");
|
|
21
|
-
const
|
|
22
|
+
const template_service_1 = require("./core/common/services/template.service");
|
|
22
23
|
let CoreModule = CoreModule_1 = class CoreModule {
|
|
24
|
+
configure(consumer) {
|
|
25
|
+
consumer.apply((0, graphql_upload_1.graphqlUploadExpress)()).forRoutes('graphql');
|
|
26
|
+
}
|
|
23
27
|
static forRoot(AuthService, AuthModule, options) {
|
|
24
28
|
const config = (0, config_helper_1.merge)({
|
|
25
29
|
env: 'develop',
|
|
@@ -48,6 +52,24 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
48
52
|
}
|
|
49
53
|
},
|
|
50
54
|
},
|
|
55
|
+
'graphql-ws': {
|
|
56
|
+
onConnect: async (context) => {
|
|
57
|
+
var _a;
|
|
58
|
+
const { connectionParams, extra } = context;
|
|
59
|
+
if (config.graphQl.enableSubscriptionAuth) {
|
|
60
|
+
const authToken = 'Authorization' in connectionParams && ((_a = connectionParams === null || connectionParams === void 0 ? void 0 : connectionParams.Authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1]);
|
|
61
|
+
if (authToken) {
|
|
62
|
+
const payload = authService.decodeJwt(authToken);
|
|
63
|
+
const user = await authService.validateUser(payload);
|
|
64
|
+
extra.user = user;
|
|
65
|
+
extra.header = connectionParams;
|
|
66
|
+
return extra;
|
|
67
|
+
}
|
|
68
|
+
throw new common_1.UnauthorizedException();
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
context: ({ extra }) => extra,
|
|
72
|
+
},
|
|
51
73
|
},
|
|
52
74
|
}, (_a = options === null || options === void 0 ? void 0 : options.graphQl) === null || _a === void 0 ? void 0 : _a.driver);
|
|
53
75
|
},
|
|
@@ -82,7 +104,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
82
104
|
module: CoreModule_1,
|
|
83
105
|
imports: [
|
|
84
106
|
mongoose_1.MongooseModule.forRoot(config.mongoose.uri, config.mongoose.options),
|
|
85
|
-
graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver)),
|
|
107
|
+
graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver, config.graphQl.options)),
|
|
86
108
|
],
|
|
87
109
|
providers,
|
|
88
110
|
exports: [config_service_1.ConfigService, email_service_1.EmailService, template_service_1.TemplateService, mailjet_service_1.MailjetService],
|
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,
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@nestjs/core");
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
4
5
|
const config_env_1 = require("./config.env");
|
|
5
6
|
const server_module_1 = require("./server/server.module");
|
|
6
7
|
async function bootstrap() {
|
|
@@ -10,6 +11,18 @@ async function bootstrap() {
|
|
|
10
11
|
server.setViewEngine(config_env_1.default.templates.engine);
|
|
11
12
|
server.enableCors();
|
|
12
13
|
await server.listen(config_env_1.default.port);
|
|
14
|
+
if (config_env_1.default.execAfterInit) {
|
|
15
|
+
(0, child_process_1.exec)(config_env_1.default.execAfterInit, (error, stdout, stderr) => {
|
|
16
|
+
if (error) {
|
|
17
|
+
console.error(`error: ${error.message}`);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (stderr) {
|
|
21
|
+
console.error(`stderr: ${stderr}`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
13
26
|
}
|
|
14
27
|
bootstrap();
|
|
15
28
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,6CAAqC;AACrC,0DAAsD;AAKtD,KAAK,UAAU,SAAS;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAW,CAAC,MAAM,CAErC,4BAAY,CACb,CAAC;IAGF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAGpF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,CAAC,UAAU,EAAE,CAAC;IAGpB,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,iDAAqC;AACrC,6CAAqC;AACrC,0DAAsD;AAKtD,KAAK,UAAU,SAAS;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAW,CAAC,MAAM,CAErC,4BAAY,CACb,CAAC;IAGF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAGpF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,CAAC,UAAU,EAAE,CAAC;IAGpB,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;IAGpC,IAAI,oBAAS,CAAC,aAAa,EAAE;QAC3B,IAAA,oBAAI,EAAC,oBAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO;aACR;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBACnC,OAAO;aACR;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAGD,SAAS,EAAE,CAAC"}
|
|
@@ -21,9 +21,8 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
21
21
|
module: AuthModule_1,
|
|
22
22
|
imports: [
|
|
23
23
|
core_auth_module_1.CoreAuthModule.forRoot(user_module_1.UserModule, user_service_1.UserService, Object.assign(Object.assign({}, options), {})),
|
|
24
|
-
email_service_1.EmailService,
|
|
25
24
|
],
|
|
26
|
-
providers: [auth_resolver_1.AuthResolver, auth_service_1.AuthService],
|
|
25
|
+
providers: [auth_resolver_1.AuthResolver, auth_service_1.AuthService, email_service_1.EmailService],
|
|
27
26
|
exports: [auth_resolver_1.AuthResolver, core_auth_module_1.CoreAuthModule],
|
|
28
27
|
};
|
|
29
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,+EAA2E;AAC3E,kFAA6E;AAC7E,qDAAiD;AACjD,uDAAmD;AACnD,mDAA+C;AAC/C,iDAA6C;AAM7C,IAAa,UAAU,kBAAvB,MAAa,UAAU;IAKrB,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE;gBACP,iCAAc,CAAC,OAAO,CAAC,wBAAU,EAAE,0BAAW,kCACzC,OAAO,GACP,EAGF,EACD;
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,+EAA2E;AAC3E,kFAA6E;AAC7E,qDAAiD;AACjD,uDAAmD;AACnD,mDAA+C;AAC/C,iDAA6C;AAM7C,IAAa,UAAU,kBAAvB,MAAa,UAAU;IAKrB,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE;gBACP,iCAAc,CAAC,OAAO,CAAC,wBAAU,EAAE,0BAAW,kCACzC,OAAO,GACP,EAGF,EACD;aACH;YACD,SAAS,EAAE,CAAC,4BAAY,EAAE,0BAAW,EAAE,4BAAY,CAAC;YACpD,OAAO,EAAE,CAAC,4BAAY,EAAE,iCAAc,CAAC;SACxC,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAqBtB;AArBY,gCAAU"}
|
|
@@ -22,7 +22,7 @@ const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
|
22
22
|
const file_helper_1 = require("../../../core/common/helpers/file.helper");
|
|
23
23
|
let FileController = class FileController {
|
|
24
24
|
uploadFile(files, fields) {
|
|
25
|
-
console.log(files, fields);
|
|
25
|
+
console.log(JSON.stringify({ files, fields }, null, 2));
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,0EAAgF;AAMhF,IAAa,cAAc,GAA3B,MAAa,cAAc;IAqBzB,UAAU,CAAkB,KAAK,EAAU,MAAW;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,0EAAgF;AAMhF,IAAa,cAAc,GAA3B,MAAa,cAAc;IAqBzB,UAAU,CAAkB,KAAK,EAAU,MAAW;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAHC;IAjBC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE;QAG9B,OAAO,EAAE,IAAA,oBAAW,EAAC;YAInB,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI;YAGxC,QAAQ,EAAE,IAAA,kCAAoB,GAAE;SACjC,CAAC;KACH,CAAC,CACH;IACW,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAS,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAEzC;AAvBU,cAAc;IAD1B,IAAA,mBAAU,EAAC,OAAO,CAAC;GACP,cAAc,CAwB1B;AAxBY,wCAAc"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var _a;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.FileResolver = void 0;
|
|
17
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
18
|
+
const graphql_upload_1 = require("graphql-upload");
|
|
19
|
+
let FileResolver = class FileResolver {
|
|
20
|
+
async uploadFile(file) {
|
|
21
|
+
console.log(JSON.stringify(file, null, 2));
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
async uploadFiles(files) {
|
|
25
|
+
const promises = [];
|
|
26
|
+
for (const file of files) {
|
|
27
|
+
console.log(JSON.stringify(await file, null, 2));
|
|
28
|
+
}
|
|
29
|
+
await Promise.all(promises);
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, graphql_1.Mutation)(() => Boolean),
|
|
35
|
+
__param(0, (0, graphql_1.Args)({ name: 'file', type: () => graphql_upload_1.GraphQLUpload })),
|
|
36
|
+
__metadata("design:type", Function),
|
|
37
|
+
__metadata("design:paramtypes", [typeof (_a = typeof graphql_upload_1.FileUpload !== "undefined" && graphql_upload_1.FileUpload) === "function" ? _a : Object]),
|
|
38
|
+
__metadata("design:returntype", Promise)
|
|
39
|
+
], FileResolver.prototype, "uploadFile", null);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, graphql_1.Mutation)(() => Boolean),
|
|
42
|
+
__param(0, (0, graphql_1.Args)({ name: 'files', type: () => [graphql_upload_1.GraphQLUpload] })),
|
|
43
|
+
__metadata("design:type", Function),
|
|
44
|
+
__metadata("design:paramtypes", [Array]),
|
|
45
|
+
__metadata("design:returntype", Promise)
|
|
46
|
+
], FileResolver.prototype, "uploadFiles", null);
|
|
47
|
+
FileResolver = __decorate([
|
|
48
|
+
(0, graphql_1.Resolver)()
|
|
49
|
+
], FileResolver);
|
|
50
|
+
exports.FileResolver = FileResolver;
|
|
51
|
+
//# sourceMappingURL=file.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2D;AAE3D,mDAA2D;AAM3D,IAAa,YAAY,GAAzB,MAAa,YAAY;IAKvB,KAAK,CAAC,UAAU,CAEd,IAAgB;QAEhB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAU3C,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,KAAK,CAAC,WAAW,CAEf,KAAmB;QAEnB,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAUlD;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAzCC;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,8BAAa,EAAE,CAAC,CAAA;;yDAC5C,2BAAU,oBAAV,2BAAU;;8CAajB;AAMD;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,8BAAa,CAAC,EAAE,CAAC,CAAA;;;;+CAkBtD;AA7CU,YAAY;IADxB,IAAA,kBAAQ,GAAE;GACE,YAAY,CA8CxB;AA9CY,oCAAY"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
2
4
|
/// <reference types="mongoose/types/connection" />
|
|
3
5
|
/// <reference types="mongoose/types/cursor" />
|
|
4
6
|
/// <reference types="mongoose/types/document" />
|
|
5
7
|
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/helpers" />
|
|
9
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
10
|
+
/// <reference types="mongoose/types/indizes" />
|
|
11
|
+
/// <reference types="mongoose/types/models" />
|
|
6
12
|
/// <reference types="mongoose/types/mongooseoptions" />
|
|
7
13
|
/// <reference types="mongoose/types/pipelinestage" />
|
|
14
|
+
/// <reference types="mongoose/types/populate" />
|
|
15
|
+
/// <reference types="mongoose/types/query" />
|
|
8
16
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
17
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
18
|
+
/// <reference types="mongoose/types/session" />
|
|
19
|
+
/// <reference types="mongoose/types/types" />
|
|
20
|
+
/// <reference types="mongoose/types/utility" />
|
|
21
|
+
/// <reference types="mongoose/types/validation" />
|
|
9
22
|
import { Document, Schema } from 'mongoose';
|
|
10
23
|
import { CoreUserModel } from '../../../core/modules/user/core-user.model';
|
|
11
24
|
import { PersistenceModel } from '../../common/models/persistence.model';
|
|
@@ -16,4 +29,4 @@ export declare class User extends CoreUserModel implements PersistenceModel {
|
|
|
16
29
|
updatedBy: User;
|
|
17
30
|
init(): this;
|
|
18
31
|
}
|
|
19
|
-
export declare const UserSchema: Schema<
|
|
32
|
+
export declare const UserSchema: Schema<User, import("mongoose").Model<User, any, any, any>, {}, {}, any>;
|
|
@@ -163,7 +163,8 @@ __decorate([
|
|
|
163
163
|
__decorate([
|
|
164
164
|
(0, graphql_1.Subscription)(() => user_model_1.User, {
|
|
165
165
|
filter(payload, variables, context) {
|
|
166
|
-
|
|
166
|
+
var _a, _b;
|
|
167
|
+
return (_b = (_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.hasRole) === null || _b === void 0 ? void 0 : _b.call(_a, role_enum_1.RoleEnum.ADMIN);
|
|
167
168
|
},
|
|
168
169
|
resolve: (user) => user,
|
|
169
170
|
}),
|