@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.
Files changed (81) hide show
  1. package/dist/config.env.js +4 -2
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/decorators/restricted.decorator.js +4 -4
  4. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  5. package/dist/core/common/helpers/db.helper.js +3 -2
  6. package/dist/core/common/helpers/db.helper.js.map +1 -1
  7. package/dist/core/common/helpers/file.helper.js +4 -7
  8. package/dist/core/common/helpers/file.helper.js.map +1 -1
  9. package/dist/core/common/helpers/filter.helper.d.ts +7 -0
  10. package/dist/core/common/helpers/filter.helper.js +38 -1
  11. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  12. package/dist/core/common/helpers/input.helper.d.ts +6 -0
  13. package/dist/core/common/helpers/input.helper.js +28 -6
  14. package/dist/core/common/helpers/input.helper.js.map +1 -1
  15. package/dist/core/common/helpers/service.helper.d.ts +2 -0
  16. package/dist/core/common/helpers/service.helper.js +7 -9
  17. package/dist/core/common/helpers/service.helper.js.map +1 -1
  18. package/dist/core/common/inputs/filter.input.js.map +1 -1
  19. package/dist/core/common/interfaces/prepare-input-options.interface.d.ts +1 -0
  20. package/dist/core/common/interfaces/prepare-output-options.interface.d.ts +1 -0
  21. package/dist/core/common/interfaces/server-options.interface.d.ts +16 -13
  22. package/dist/core/common/interfaces/service-options.interface.d.ts +3 -1
  23. package/dist/core/common/models/core-model.model.js +4 -1
  24. package/dist/core/common/models/core-model.model.js.map +1 -1
  25. package/dist/core/common/services/crud.service.js +9 -4
  26. package/dist/core/common/services/crud.service.js.map +1 -1
  27. package/dist/core/common/services/module.service.js +14 -2
  28. package/dist/core/common/services/module.service.js.map +1 -1
  29. package/dist/core/common/types/field-selection.type.d.ts +1 -1
  30. package/dist/core/modules/auth/guards/roles.guard.js +2 -1
  31. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  32. package/dist/core/modules/user/core-user.service.js +9 -13
  33. package/dist/core/modules/user/core-user.service.js.map +1 -1
  34. package/dist/core.module.d.ts +3 -2
  35. package/dist/core.module.js +26 -4
  36. package/dist/core.module.js.map +1 -1
  37. package/dist/main.js +13 -0
  38. package/dist/main.js.map +1 -1
  39. package/dist/server/modules/auth/auth.module.js +1 -2
  40. package/dist/server/modules/auth/auth.module.js.map +1 -1
  41. package/dist/server/modules/file/file.controller.js +1 -1
  42. package/dist/server/modules/file/file.controller.js.map +1 -1
  43. package/dist/server/modules/file/file.resolver.d.ts +5 -0
  44. package/dist/server/modules/file/file.resolver.js +51 -0
  45. package/dist/server/modules/file/file.resolver.js.map +1 -0
  46. package/dist/server/modules/user/user.model.d.ts +14 -1
  47. package/dist/server/modules/user/user.resolver.js +2 -1
  48. package/dist/server/modules/user/user.resolver.js.map +1 -1
  49. package/dist/server/server.module.js +3 -1
  50. package/dist/server/server.module.js.map +1 -1
  51. package/dist/test/test.helper.d.ts +4 -1
  52. package/dist/test/test.helper.js +51 -25
  53. package/dist/test/test.helper.js.map +1 -1
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/package.json +43 -37
  56. package/src/config.env.ts +4 -2
  57. package/src/core/common/decorators/restricted.decorator.ts +1 -2
  58. package/src/core/common/helpers/db.helper.ts +7 -2
  59. package/src/core/common/helpers/file.helper.ts +9 -11
  60. package/src/core/common/helpers/filter.helper.ts +66 -1
  61. package/src/core/common/helpers/input.helper.ts +61 -2
  62. package/src/core/common/helpers/service.helper.ts +8 -9
  63. package/src/core/common/inputs/filter.input.ts +0 -1
  64. package/src/core/common/interfaces/prepare-input-options.interface.ts +1 -0
  65. package/src/core/common/interfaces/prepare-output-options.interface.ts +1 -0
  66. package/src/core/common/interfaces/server-options.interface.ts +68 -52
  67. package/src/core/common/interfaces/service-options.interface.ts +8 -2
  68. package/src/core/common/models/core-model.model.ts +4 -1
  69. package/src/core/common/services/crud.service.ts +7 -4
  70. package/src/core/common/services/module.service.ts +17 -1
  71. package/src/core/common/types/field-selection.type.ts +1 -1
  72. package/src/core/modules/auth/guards/roles.guard.ts +1 -1
  73. package/src/core/modules/user/core-user.service.ts +13 -22
  74. package/src/core.module.ts +38 -6
  75. package/src/main.ts +16 -0
  76. package/src/server/modules/auth/auth.module.ts +1 -2
  77. package/src/server/modules/file/file.controller.ts +1 -1
  78. package/src/server/modules/file/file.resolver.ts +55 -0
  79. package/src/server/modules/user/user.resolver.ts +1 -1
  80. package/src/server/server.module.ts +5 -1
  81. 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
- return config.init ? (0, model_helper_1.map)(data, this, config).init(config.init) : (0, model_helper_1.map)(data, this, config);
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,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3F,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;AAhHD,8BAgHC"}
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
- return new this.mainDbModel(Object.assign({}, data.input)).save();
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
- return await Object.assign(dbObject, data.input).save();
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 (data) => {
55
+ return this.process(async () => {
51
56
  await this.mainDbModel.findByIdAndDelete(id).exec();
52
57
  return dbObject;
53
- }, { dbObject, input: id, serviceOptions });
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":"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"}
1
+ {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAEnD,4DAAiD;AACjD,4DAAoE;AACpE,0DAAsD;AAGtD,qDAAiD;AAEjD,MAAsB,WAAuC,SAAQ,8BAAgB;IAInF,KAAK,CAAC,MAAM,CAAC,KAAU,EAAE,cAA+B;QACtD,IAAA,qBAAK,EAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EAAE,IAAI,EAAE,EAAE;;YACb,MAAM,aAAa,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,0CAAE,EAAE,CAAC;YACtD,OAAO,IAAI,IAAI,CAAC,WAAW,iCAAM,IAAI,CAAC,KAAK,KAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,IAAG,CAAC,IAAI,EAAE,CAAC;QAC5G,CAAC,EACD,EAAE,KAAK,EAAE,cAAc,EAAE,CAC1B,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,cAA+B;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,0BAAiB,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;IAKD,KAAK,CAAC,IAAI,CAAC,UAAuB,EAAE,cAA+B;QACjE,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,WAAW,GAAG,IAAA,wCAAwB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,CAAC,EACD,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,CACtC,CAAC;IACJ,CAAC;IAeD,KAAK,CAAC,IAAI,CAAC,KAA0B,EAAE,cAA+B;QACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SACxC;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SACzC;IACH,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAU,EAAE,cAA+B;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,0BAAiB,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EAAE,IAAI,EAAE,EAAE;;YACb,MAAM,aAAa,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,0CAAE,EAAE,CAAC;YACtD,OAAO,MAAM,IAAA,0BAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,CAAC,EACD,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CACpC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAA+B;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,0BAAiB,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;CACF;AA7FD,kCA6FC"}
@@ -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({ targetModel: this.mainModelConstructor }, options === null || options === void 0 ? void 0 : options.prepareInput);
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 || !user.hasRole(roles)) {
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;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,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAEjC,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"}
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
- const createdUser = new this.mainDbModel(Object.assign(Object.assign({}, data.input), { verificationToken: crypto.randomBytes(32).toString('hex') }));
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 Object.assign(dbObject, {
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 Object.assign(dbObject, {
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
- const resetToken = crypto.randomBytes(32).toString('hex');
87
- dbObject.passwordResetToken = resetToken;
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 (data) => {
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":"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"}
1
+ {"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -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 apollo_1 = require("@nestjs/apollo");
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],
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
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;AACtC,CAAC;AAGD,SAAS,EAAE,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;gBACF,4BAAY;aACb;YACD,SAAS,EAAE,CAAC,4BAAY,EAAE,0BAAW,CAAC;YACtC,OAAO,EAAE,CAAC,4BAAY,EAAE,iCAAc,CAAC;SACxC,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAsBtB;AAtBY,gCAAU"}
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;IAC7B,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"}
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,5 @@
1
+ import { FileUpload } from 'graphql-upload';
2
+ export declare class FileResolver {
3
+ uploadFile(file: FileUpload): Promise<boolean>;
4
+ uploadFiles(files: FileUpload[]): Promise<boolean>;
5
+ }
@@ -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<Document<User, any, any>, import("mongoose").Model<Document<User, any, any>, any, any, any>, {}, {}>;
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
- return context.user.roles.include(role_enum_1.RoleEnum.ADMIN);
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
  }),