@lenne.tech/nest-server 8.6.15 → 8.6.18

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 (38) hide show
  1. package/dist/config.env.js +54 -0
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/interfaces/cron-job-config.interface.d.ts +12 -0
  4. package/dist/core/common/interfaces/cron-job-config.interface.js +3 -0
  5. package/dist/core/common/interfaces/cron-job-config.interface.js.map +1 -0
  6. package/dist/core/common/interfaces/server-options.interface.d.ts +4 -0
  7. package/dist/core/common/services/core-cron-jobs.service.d.ts +15 -0
  8. package/dist/core/common/services/core-cron-jobs.service.js +54 -0
  9. package/dist/core/common/services/core-cron-jobs.service.js.map +1 -0
  10. package/dist/core/common/services/crud.service.d.ts +13 -2
  11. package/dist/core/common/services/crud.service.js +31 -5
  12. package/dist/core/common/services/crud.service.js.map +1 -1
  13. package/dist/core/common/types/falsy.type.d.ts +1 -0
  14. package/dist/core/common/types/falsy.type.js +3 -0
  15. package/dist/core/common/types/falsy.type.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.js +3 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/server/common/services/cron-jobs.service.d.ts +7 -0
  20. package/dist/server/common/services/cron-jobs.service.js +31 -0
  21. package/dist/server/common/services/cron-jobs.service.js.map +1 -0
  22. package/dist/server/server.module.js +4 -0
  23. package/dist/server/server.module.js.map +1 -1
  24. package/dist/test/test.helper.d.ts +2 -0
  25. package/dist/test/test.helper.js +38 -1
  26. package/dist/test/test.helper.js.map +1 -1
  27. package/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/package.json +5 -2
  29. package/src/config.env.ts +58 -0
  30. package/src/core/common/interfaces/cron-job-config.interface.ts +52 -0
  31. package/src/core/common/interfaces/server-options.interface.ts +9 -0
  32. package/src/core/common/services/core-cron-jobs.service.ts +101 -0
  33. package/src/core/common/services/crud.service.ts +54 -7
  34. package/src/core/common/types/falsy.type.ts +4 -0
  35. package/src/index.ts +3 -0
  36. package/src/server/common/services/cron-jobs.service.ts +26 -0
  37. package/src/server/server.module.ts +7 -0
  38. package/src/test/test.helper.ts +47 -1
@@ -1,7 +1,61 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const schedule_1 = require("@nestjs/schedule");
3
4
  const path_1 = require("path");
4
5
  const config = {
6
+ local: {
7
+ cronJobs: {
8
+ sayHello: {
9
+ cronTime: schedule_1.CronExpression.EVERY_5_MINUTES,
10
+ timeZone: 'Europe/Berlin',
11
+ runOnInit: false,
12
+ },
13
+ },
14
+ email: {
15
+ smtp: {
16
+ auth: {
17
+ user: 'rebeca68@ethereal.email',
18
+ pass: 'v5WUScAN98AzGbRjpc',
19
+ },
20
+ host: 'smtp.ethereal.email',
21
+ port: 587,
22
+ secure: false,
23
+ },
24
+ mailjet: {
25
+ api_key_public: 'MAILJET_API_KEY_PUBLIC',
26
+ api_key_private: 'MAILJET_API_KEY_PRIVATE',
27
+ },
28
+ defaultSender: {
29
+ email: 'rebeca68@ethereal.email',
30
+ name: 'Rebeca Sixtyeight',
31
+ },
32
+ verificationLink: 'http://localhost:4200/user/verification',
33
+ passwordResetLink: 'http://localhost:4200/user/password-reset',
34
+ },
35
+ env: 'local',
36
+ execAfterInit: 'npm run docs:bootstrap',
37
+ graphQl: {
38
+ driver: {
39
+ debug: true,
40
+ introspection: true,
41
+ },
42
+ },
43
+ jwt: {
44
+ secret: 'SECRET_OR_PRIVATE_KEY_DEV',
45
+ },
46
+ mongoose: {
47
+ uri: 'mongodb://localhost/nest-server-dev',
48
+ },
49
+ port: 3000,
50
+ staticAssets: {
51
+ path: (0, path_1.join)(__dirname, '..', 'public'),
52
+ options: { prefix: '' },
53
+ },
54
+ templates: {
55
+ path: (0, path_1.join)(__dirname, 'templates'),
56
+ engine: 'ejs',
57
+ },
58
+ },
5
59
  development: {
6
60
  email: {
7
61
  smtp: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { CronExpression } from '@nestjs/schedule';
2
+ import { CronCommand } from 'cron';
3
+ import { Falsy } from '../types/falsy.type';
4
+ export interface CronJobConfig {
5
+ context?: any;
6
+ cronTime: CronExpression | string | Date | Falsy;
7
+ onComplete?: CronCommand | null;
8
+ runOnInit?: boolean;
9
+ timeZone?: string;
10
+ unrefTimeout?: boolean;
11
+ utcOffset?: string | number;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cron-job-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-job-config.interface.js","sourceRoot":"","sources":["../../../../src/core/common/interfaces/cron-job-config.interface.ts"],"names":[],"mappings":""}
@@ -3,9 +3,13 @@ import { GqlModuleAsyncOptions } from '@nestjs/graphql';
3
3
  import { JwtModuleOptions } from '@nestjs/jwt';
4
4
  import { MongooseModuleOptions } from '@nestjs/mongoose';
5
5
  import { ServeStaticOptions } from '@nestjs/platform-express/interfaces/serve-static-options.interface';
6
+ import { CronExpression } from '@nestjs/schedule';
6
7
  import * as SMTPTransport from 'nodemailer/lib/smtp-transport';
8
+ import { Falsy } from '../types/falsy.type';
9
+ import { CronJobConfig } from './cron-job-config.interface';
7
10
  import { MailjetOptions } from './mailjet-options.interface';
8
11
  export interface IServerOptions {
12
+ cronJobs?: Record<string, CronExpression | string | Date | Falsy | CronJobConfig>;
9
13
  email?: {
10
14
  defaultSender?: {
11
15
  email?: string;
@@ -0,0 +1,15 @@
1
+ import { CronExpression, SchedulerRegistry } from '@nestjs/schedule';
2
+ import { CronJobConfig } from '../interfaces/cron-job-config.interface';
3
+ import { Falsy } from '../types/falsy.type';
4
+ export declare abstract class CoreCronJobs {
5
+ protected schedulerRegistry: SchedulerRegistry;
6
+ protected cronJobs: Record<string, CronExpression | string | Date | Falsy | CronJobConfig>;
7
+ config: {
8
+ [key: string]: any;
9
+ log: boolean;
10
+ };
11
+ protected constructor(schedulerRegistry: SchedulerRegistry, cronJobs: Record<string, CronExpression | string | Date | Falsy | CronJobConfig>, options?: {
12
+ log?: boolean;
13
+ });
14
+ protected initCronJobs(): void;
15
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreCronJobs = void 0;
4
+ const cron_1 = require("cron");
5
+ class CoreCronJobs {
6
+ constructor(schedulerRegistry, cronJobs, options) {
7
+ this.schedulerRegistry = schedulerRegistry;
8
+ this.cronJobs = cronJobs;
9
+ this.config = {
10
+ log: true,
11
+ ...options,
12
+ };
13
+ this.initCronJobs();
14
+ }
15
+ initCronJobs() {
16
+ if (!this.cronJobs) {
17
+ return;
18
+ }
19
+ for (const [name, CronExpressionOrConfig] of Object.entries(this.cronJobs)) {
20
+ if (!CronExpressionOrConfig) {
21
+ continue;
22
+ }
23
+ let config = CronExpressionOrConfig;
24
+ if (typeof config === 'string' || config instanceof Date) {
25
+ config = {
26
+ cronTime: config,
27
+ };
28
+ }
29
+ config = {
30
+ timeZone: 'Europe/Berlin',
31
+ runOnInit: true,
32
+ ...config,
33
+ };
34
+ if (!config?.cronTime) {
35
+ continue;
36
+ }
37
+ if (!this[name]) {
38
+ if (this.config.log) {
39
+ console.log('Missing cron job function ' + name);
40
+ }
41
+ continue;
42
+ }
43
+ const job = new cron_1.CronJob(config.cronTime, () => {
44
+ this[name]();
45
+ }, null, true, config.timeZone, config.context, config.runOnInit, config.utcOffset, config.unrefTimeout);
46
+ this.schedulerRegistry.addCronJob(name, job);
47
+ if (this.config.log && this.schedulerRegistry.getCronJob(name)) {
48
+ console.log(`CronJob ${name} initialized with "${config.cronTime}"`);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ exports.CoreCronJobs = CoreCronJobs;
54
+ //# sourceMappingURL=core-cron-jobs.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-cron-jobs.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/core-cron-jobs.service.ts"],"names":[],"mappings":";;;AACA,+BAA+B;AAO/B,MAAsB,YAAY;IAgBhC,YACY,iBAAoC,EACpC,QAAgF,EAC1F,OAA2B;QAFjB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,aAAQ,GAAR,QAAQ,CAAwE;QAG1F,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,EAAE,IAAI;YACT,GAAG,OAAO;SACX,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAKS,YAAY;QAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QAGD,KAAK,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAE1E,IAAI,CAAC,sBAAsB,EAAE;gBAC3B,SAAS;aACV;YAGD,IAAI,MAAM,GAA2D,sBAAsB,CAAC;YAC5F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,IAAI,EAAE;gBACxD,MAAM,GAAG;oBACP,QAAQ,EAAE,MAAM;iBACjB,CAAC;aACH;YAGD,MAAM,GAAG;gBACP,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,IAAI;gBACf,GAAG,MAAM;aACV,CAAC;YAGF,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;gBACrB,SAAS;aACV;YAGD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACf,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;iBAClD;gBACD,SAAS;aACV;YAGD,MAAM,GAAG,GAAG,IAAI,cAAO,CACrB,MAAM,CAAC,QAAQ,EACf,GAAG,EAAE;gBACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACf,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,CACpB,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC9D,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,sBAAsB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;aACtE;SACF;IACH,CAAC;CACF;AA5FD,oCA4FC"}
@@ -1,3 +1,4 @@
1
+ import { FilterQuery, QueryOptions } from 'mongoose';
1
2
  import { FilterArgs } from '../args/filter.args';
2
3
  import { ServiceOptions } from '../interfaces/service-options.interface';
3
4
  import { CoreModel } from '../models/core-model.model';
@@ -5,9 +6,19 @@ import { ModuleService } from './module.service';
5
6
  export declare abstract class CrudService<T extends CoreModel = any> extends ModuleService<T> {
6
7
  create(input: any, serviceOptions?: ServiceOptions): Promise<T>;
7
8
  get(id: string, serviceOptions?: ServiceOptions): Promise<T>;
8
- find(filterArgs?: FilterArgs, serviceOptions?: ServiceOptions): Promise<T[]>;
9
+ find(filter?: FilterArgs | {
10
+ filterQuery?: FilterQuery<any>;
11
+ queryOptions?: QueryOptions;
12
+ }, serviceOptions?: ServiceOptions): Promise<T[]>;
13
+ findAndUpdate(filter: FilterArgs | {
14
+ filterQuery?: FilterQuery<any>;
15
+ queryOptions?: QueryOptions;
16
+ }, update: any, serviceOptions?: ServiceOptions): Promise<T[]>;
9
17
  read(id: string, serviceOptions?: ServiceOptions): Promise<T>;
10
- read(filterArgs?: FilterArgs, serviceOptions?: ServiceOptions): Promise<T[]>;
18
+ read(filter: FilterArgs | {
19
+ filterQuery?: FilterQuery<any>;
20
+ queryOptions?: QueryOptions;
21
+ }, serviceOptions?: ServiceOptions): Promise<T[]>;
11
22
  update(id: string, input: any, serviceOptions?: ServiceOptions): Promise<T>;
12
23
  delete(id: string, serviceOptions?: ServiceOptions): Promise<T>;
13
24
  }
@@ -2,13 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudService = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
+ const filter_args_1 = require("../args/filter.args");
5
6
  const config_helper_1 = require("../helpers/config.helper");
7
+ const db_helper_1 = require("../helpers/db.helper");
6
8
  const filter_helper_1 = require("../helpers/filter.helper");
7
9
  const input_helper_1 = require("../helpers/input.helper");
8
10
  const module_service_1 = require("./module.service");
9
11
  class CrudService extends module_service_1.ModuleService {
10
12
  async create(input, serviceOptions) {
11
- (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
13
+ serviceOptions = (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
12
14
  return this.process(async (data) => {
13
15
  const currentUserId = serviceOptions?.currentUser?.id;
14
16
  return new this.mainDbModel({ ...data.input, createdBy: currentUserId, updatedBy: currentUserId }).save();
@@ -21,11 +23,35 @@ class CrudService extends module_service_1.ModuleService {
21
23
  }
22
24
  return this.process(async () => dbObject, { dbObject, serviceOptions });
23
25
  }
24
- async find(filterArgs, serviceOptions) {
26
+ async find(filter, serviceOptions) {
25
27
  return this.process(async (data) => {
26
- const filterQuery = (0, filter_helper_1.convertFilterArgsToQuery)(data.input);
27
- return this.mainDbModel.find(filterQuery[0], null, filterQuery[1]).exec();
28
- }, { input: filterArgs, serviceOptions });
28
+ const filterQuery = { filterQuery: data?.input?.filterQuery, queryOptions: data?.input?.queryOptions };
29
+ if (data?.input instanceof filter_args_1.FilterArgs) {
30
+ const converted = (0, filter_helper_1.convertFilterArgsToQuery)(data.input);
31
+ filterQuery.filterQuery = converted[0];
32
+ filterQuery.queryOptions = converted[1];
33
+ }
34
+ return this.mainDbModel.find(filterQuery.filterQuery, null, filterQuery.queryOptions).exec();
35
+ }, { input: filter, serviceOptions });
36
+ }
37
+ async findAndUpdate(filter, update, serviceOptions) {
38
+ const dbItems = await this.find(filter, serviceOptions);
39
+ if (!dbItems?.length) {
40
+ return [];
41
+ }
42
+ const promises = [];
43
+ for (const dbItem of dbItems) {
44
+ promises.push(new Promise(async (resolve, reject) => {
45
+ try {
46
+ const item = await this.update((0, db_helper_1.getStringIds)(dbItem), update, serviceOptions);
47
+ resolve(item);
48
+ }
49
+ catch (e) {
50
+ reject(e);
51
+ }
52
+ }));
53
+ }
54
+ return await Promise.all(promises);
29
55
  }
30
56
  async read(input, serviceOptions) {
31
57
  if (typeof input === 'string') {
@@ -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":"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"}
@@ -0,0 +1 @@
1
+ export declare type Falsy = false | 0 | '' | null | undefined;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=falsy.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsy.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/falsy.type.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export * from './core/common/inputs/single-filter.input';
26
26
  export * from './core/common/inputs/sort.input';
27
27
  export * from './core/common/interceptors/check-response.interceptor';
28
28
  export * from './core/common/interfaces/core-persistence-model.interface';
29
+ export * from './core/common/interfaces/cron-job-config.interface';
29
30
  export * from './core/common/interfaces/mailjet-options.interface';
30
31
  export * from './core/common/interfaces/prepare-input-options.interface';
31
32
  export * from './core/common/interfaces/prepare-output-options.interface';
@@ -40,12 +41,14 @@ export * from './core/common/scalars/any.scalar';
40
41
  export * from './core/common/scalars/date.scalar';
41
42
  export * from './core/common/scalars/json.scalar';
42
43
  export * from './core/common/services/config.service';
44
+ export * from './core/common/services/core-cron-jobs.service';
43
45
  export * from './core/common/services/crud.service';
44
46
  export * from './core/common/services/email.service';
45
47
  export * from './core/common/services/mailjet.service';
46
48
  export * from './core/common/services/module.service';
47
49
  export * from './core/common/services/template.service';
48
50
  export * from './core/common/types/core-model-constructor.type';
51
+ export * from './core/common/types/falsy.type';
49
52
  export * from './core/common/types/field-selection.type';
50
53
  export * from './core/common/types/ids.type';
51
54
  export * from './core/common/types/maybe-promise.type';
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ __exportStar(require("./core/common/inputs/single-filter.input"), exports);
42
42
  __exportStar(require("./core/common/inputs/sort.input"), exports);
43
43
  __exportStar(require("./core/common/interceptors/check-response.interceptor"), exports);
44
44
  __exportStar(require("./core/common/interfaces/core-persistence-model.interface"), exports);
45
+ __exportStar(require("./core/common/interfaces/cron-job-config.interface"), exports);
45
46
  __exportStar(require("./core/common/interfaces/mailjet-options.interface"), exports);
46
47
  __exportStar(require("./core/common/interfaces/prepare-input-options.interface"), exports);
47
48
  __exportStar(require("./core/common/interfaces/prepare-output-options.interface"), exports);
@@ -56,12 +57,14 @@ __exportStar(require("./core/common/scalars/any.scalar"), exports);
56
57
  __exportStar(require("./core/common/scalars/date.scalar"), exports);
57
58
  __exportStar(require("./core/common/scalars/json.scalar"), exports);
58
59
  __exportStar(require("./core/common/services/config.service"), exports);
60
+ __exportStar(require("./core/common/services/core-cron-jobs.service"), exports);
59
61
  __exportStar(require("./core/common/services/crud.service"), exports);
60
62
  __exportStar(require("./core/common/services/email.service"), exports);
61
63
  __exportStar(require("./core/common/services/mailjet.service"), exports);
62
64
  __exportStar(require("./core/common/services/module.service"), exports);
63
65
  __exportStar(require("./core/common/services/template.service"), exports);
64
66
  __exportStar(require("./core/common/types/core-model-constructor.type"), exports);
67
+ __exportStar(require("./core/common/types/falsy.type"), exports);
65
68
  __exportStar(require("./core/common/types/field-selection.type"), exports);
66
69
  __exportStar(require("./core/common/types/ids.type"), exports);
67
70
  __exportStar(require("./core/common/types/maybe-promise.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,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,4FAA0E;AAC1E,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,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,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,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,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,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,yEAAuD;AACvD,uEAAqD;AACrD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
@@ -0,0 +1,7 @@
1
+ import { SchedulerRegistry } from '@nestjs/schedule';
2
+ import { CoreCronJobs } from '../../../core/common/services/core-cron-jobs.service';
3
+ export declare class CronJobs extends CoreCronJobs {
4
+ protected schedulerRegistry: SchedulerRegistry;
5
+ constructor(schedulerRegistry: SchedulerRegistry);
6
+ protected sayHello(): void;
7
+ }
@@ -0,0 +1,31 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CronJobs = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const schedule_1 = require("@nestjs/schedule");
15
+ const config_env_1 = require("../../../config.env");
16
+ const core_cron_jobs_service_1 = require("../../../core/common/services/core-cron-jobs.service");
17
+ let CronJobs = class CronJobs extends core_cron_jobs_service_1.CoreCronJobs {
18
+ constructor(schedulerRegistry) {
19
+ super(schedulerRegistry, config_env_1.default.cronJobs, { log: true });
20
+ this.schedulerRegistry = schedulerRegistry;
21
+ }
22
+ sayHello() {
23
+ console.log('Hello :)');
24
+ }
25
+ };
26
+ CronJobs = __decorate([
27
+ (0, common_1.Injectable)(),
28
+ __metadata("design:paramtypes", [schedule_1.SchedulerRegistry])
29
+ ], CronJobs);
30
+ exports.CronJobs = CronJobs;
31
+ //# sourceMappingURL=cron-jobs.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-jobs.service.js","sourceRoot":"","sources":["../../../../src/server/common/services/cron-jobs.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAAqD;AACrD,oDAA4C;AAC5C,iGAAoF;AAGpF,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,qCAAY;IAQxC,YAAsB,iBAAoC;QACxD,KAAK,CAAC,iBAAiB,EAAE,oBAAS,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QADxC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAE1D,CAAC;IAMS,QAAQ;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;CACF,CAAA;AAnBY,QAAQ;IADpB,IAAA,mBAAU,GAAE;qCAS8B,4BAAiB;GAR/C,QAAQ,CAmBpB;AAnBY,4BAAQ"}
@@ -8,9 +8,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ServerModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const schedule_1 = require("@nestjs/schedule");
11
12
  const config_env_1 = require("../config.env");
12
13
  const core_module_1 = require("../core.module");
13
14
  const core_auth_service_1 = require("../core/modules/auth/services/core-auth.service");
15
+ const cron_jobs_service_1 = require("./common/services/cron-jobs.service");
14
16
  const auth_module_1 = require("./modules/auth/auth.module");
15
17
  const file_module_1 = require("./modules/file/file.module");
16
18
  const server_controller_1 = require("./server.controller");
@@ -20,9 +22,11 @@ ServerModule = __decorate([
20
22
  (0, common_1.Module)({
21
23
  imports: [
22
24
  core_module_1.CoreModule.forRoot(core_auth_service_1.CoreAuthService, auth_module_1.AuthModule.forRoot(config_env_1.default.jwt), config_env_1.default),
25
+ schedule_1.ScheduleModule.forRoot(),
23
26
  auth_module_1.AuthModule.forRoot(config_env_1.default.jwt),
24
27
  file_module_1.FileModule,
25
28
  ],
29
+ providers: [cron_jobs_service_1.CronJobs],
26
30
  controllers: [server_controller_1.ServerController],
27
31
  exports: [core_module_1.CoreModule, auth_module_1.AuthModule, file_module_1.FileModule],
28
32
  })
@@ -1 +1 @@
1
- {"version":3,"file":"server.module.js","sourceRoot":"","sources":["../../src/server/server.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAAsC;AACtC,gDAA4C;AAC5C,uFAAkF;AAClF,4DAAwD;AACxD,4DAAwD;AACxD,2DAAuD;AA4BvD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IApBxB,IAAA,eAAM,EAAC;QAEN,OAAO,EAAE;YAEP,wBAAU,CAAC,OAAO,CAAC,mCAAe,EAAE,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC,EAAE,oBAAS,CAAC;YAIjF,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC;YAGjC,wBAAU;SACX;QAGD,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAG/B,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,EAAE,wBAAU,CAAC;KAC9C,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
1
+ {"version":3,"file":"server.module.js","sourceRoot":"","sources":["../../src/server/server.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,8CAAsC;AACtC,gDAA4C;AAC5C,uFAAkF;AAClF,2EAA+D;AAC/D,4DAAwD;AACxD,4DAAwD;AACxD,2DAAuD;AAiCvD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IAzBxB,IAAA,eAAM,EAAC;QAEN,OAAO,EAAE;YAEP,wBAAU,CAAC,OAAO,CAAC,mCAAe,EAAE,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC,EAAE,oBAAS,CAAC;YAGjF,yBAAc,CAAC,OAAO,EAAE;YAIxB,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC;YAGjC,wBAAU;SACX;QAED,SAAS,EAAE,CAAC,4BAAQ,CAAC;QAGrB,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAG/B,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,EAAE,wBAAU,CAAC;KAC9C,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
@@ -39,6 +39,7 @@ export interface TestGraphQLOptions {
39
39
  countOfSubscriptionMessages?: number;
40
40
  log?: boolean;
41
41
  logError?: boolean;
42
+ prepareArguments?: boolean;
42
43
  statusCode?: number;
43
44
  token?: string;
44
45
  variables?: Record<string, TestGraphQLVariable>;
@@ -60,6 +61,7 @@ export declare class TestHelper {
60
61
  }>;
61
62
  graphQl(graphql: string | TestGraphQLConfig, options?: TestGraphQLOptions): Promise<any>;
62
63
  rest(url: string, options?: TestRestOptions): Promise<any>;
64
+ prepareArguments(args: any, objects?: WeakMap<any, any>): any;
63
65
  prepareFields(fields: any): any;
64
66
  protected getResponse(token: string, requestConfig: LightMyRequest.InjectOptions, statusCode: number, log: boolean, logError: boolean, variables?: Record<string, TestGraphQLVariable>): Promise<any>;
65
67
  processVariables(request: any, variables: Record<string, TestGraphQLVariable>, query: string | object): any;
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestHelper = exports.TestGraphQLType = void 0;
4
4
  const graphql_ws_1 = require("graphql-ws");
5
5
  const json_to_graphql_query_1 = require("json-to-graphql-query");
6
+ const mongoose_1 = require("mongoose");
6
7
  const supertest = require("supertest");
7
8
  const util = require("util");
8
9
  const ws = require("ws");
10
+ const db_helper_1 = require("../core/common/helpers/db.helper");
9
11
  var TestGraphQLType;
10
12
  (function (TestGraphQLType) {
11
13
  TestGraphQLType["QUERY"] = "query";
@@ -50,6 +52,7 @@ class TestHelper {
50
52
  statusCode: 200,
51
53
  log: false,
52
54
  logError: false,
55
+ prepareArguments: true,
53
56
  ...options,
54
57
  };
55
58
  const { token, statusCode, log, logError, variables } = config;
@@ -74,7 +77,9 @@ class TestHelper {
74
77
  }
75
78
  queryObj[graphql.type][graphql.name] = this.prepareFields(graphql.fields) || {};
76
79
  if (graphql.arguments) {
77
- queryObj[graphql.type][graphql.name].__args = graphql.arguments;
80
+ queryObj[graphql.type][graphql.name].__args = config.prepareArguments
81
+ ? this.prepareArguments(graphql.arguments)
82
+ : graphql.arguments;
78
83
  }
79
84
  query = (0, json_to_graphql_query_1.jsonToGraphQLQuery)(queryObj, { pretty: true });
80
85
  }
@@ -132,6 +137,35 @@ class TestHelper {
132
137
  }
133
138
  return result;
134
139
  }
140
+ prepareArguments(args, objects) {
141
+ if (!args) {
142
+ return args;
143
+ }
144
+ if (args instanceof Date) {
145
+ return args.toISOString();
146
+ }
147
+ if (args instanceof mongoose_1.Types.ObjectId) {
148
+ return (0, db_helper_1.getStringIds)(args);
149
+ }
150
+ if (!objects) {
151
+ objects = new WeakMap();
152
+ }
153
+ if (typeof args === 'object' && objects.get(args)) {
154
+ return objects.get(args);
155
+ }
156
+ if (Array.isArray(args)) {
157
+ objects.set(args, args);
158
+ return args.map((item) => this.prepareArguments(item, objects));
159
+ }
160
+ if (typeof args === 'object') {
161
+ objects.set(args, args);
162
+ for (const [key, value] of Object.entries(args)) {
163
+ args[key] = this.prepareArguments(value, objects);
164
+ }
165
+ return args;
166
+ }
167
+ return args;
168
+ }
135
169
  prepareFields(fields) {
136
170
  const result = {};
137
171
  if (typeof fields === 'string') {
@@ -174,6 +208,9 @@ class TestHelper {
174
208
  if (variables) {
175
209
  request = this.processVariables(request, variables, requestConfig.payload?.query);
176
210
  }
211
+ if (log) {
212
+ console.log(requestConfig);
213
+ }
177
214
  const response = await (variables ? request : request.send(requestConfig.payload));
178
215
  return this.processResponse(response, statusCode, log, logError);
179
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}