@lenne.tech/nest-server 3.3.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,8 +26,10 @@ const config = {
26
26
  },
27
27
  env: 'development',
28
28
  graphQl: {
29
- debug: true,
30
- introspection: true,
29
+ driver: {
30
+ debug: true,
31
+ introspection: true,
32
+ },
31
33
  },
32
34
  jwt: {
33
35
  secret: 'SECRET_OR_PRIVATE_KEY_DEV',
@@ -69,8 +71,10 @@ const config = {
69
71
  },
70
72
  env: 'productive',
71
73
  graphQl: {
72
- debug: false,
73
- introspection: true,
74
+ driver: {
75
+ debug: false,
76
+ introspection: true,
77
+ },
74
78
  },
75
79
  jwt: {
76
80
  secret: 'SECRET_OR_PRIVATE_KEY_PROD',
@@ -1 +1 @@
1
- {"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAM5B,MAAM,MAAM,GAAsC;IAIhD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE;YACP,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,IAAI;SACpB;QACD,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;SACpC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,qCAAqC;SAC3C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;IAKD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE;YACP,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,IAAI;SACpB;QACD,GAAG,EAAE;YACH,MAAM,EAAE,4BAA4B;SACrC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,sCAAsC;SAC5C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC;AAOF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;AAC9F,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;AAKtF,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAM5B,MAAM,MAAM,GAAsC;IAIhD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;SACpC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,qCAAqC;SAC3C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;IAKD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,4BAA4B;SACrC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,sCAAsC;SAC5C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC;AAOF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;AAC9F,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;AAKtF,kBAAe,SAAS,CAAC"}
@@ -6,7 +6,10 @@ import * as SMTPTransport from 'nodemailer/lib/smtp-transport';
6
6
  import { MailjetOptions } from './mailjet-options.interface';
7
7
  export interface IServerOptions {
8
8
  env?: string;
9
- graphQl?: ApolloDriverConfig;
9
+ graphQl?: {
10
+ driver?: ApolloDriverConfig;
11
+ enableSubscriptionAuth?: boolean;
12
+ };
10
13
  jwt?: {
11
14
  privateKey?: string;
12
15
  publicKey?: string;
@@ -1,6 +1,9 @@
1
- import { DynamicModule, Type } from '@nestjs/common';
1
+ import { DynamicModule, ForwardReference, Provider, Type } from '@nestjs/common';
2
2
  import { JwtModuleOptions } from '@nestjs/jwt';
3
3
  import { CoreAuthUserService } from './services/core-auth-user.service';
4
4
  export declare class CoreAuthModule {
5
- static forRoot(UserModule: Type<any>, UserService: Type<CoreAuthUserService>, options: JwtModuleOptions): DynamicModule;
5
+ static forRoot(UserModule: Type<any>, UserService: Type<CoreAuthUserService>, options: JwtModuleOptions & {
6
+ imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
7
+ providers?: Provider[];
8
+ }): DynamicModule;
6
9
  }
@@ -19,25 +19,33 @@ const core_auth_service_1 = require("./services/core-auth.service");
19
19
  const graphql_subscriptions_1 = require("graphql-subscriptions");
20
20
  let CoreAuthModule = CoreAuthModule_1 = class CoreAuthModule {
21
21
  static forRoot(UserModule, UserService, options) {
22
+ let imports = [UserModule, passport_1.PassportModule.register({ defaultStrategy: 'jwt' }), jwt_1.JwtModule.register(options)];
23
+ if (Array.isArray(options === null || options === void 0 ? void 0 : options.imports)) {
24
+ imports = imports.concat(options.imports);
25
+ }
26
+ let providers = [
27
+ {
28
+ provide: core_1.APP_GUARD,
29
+ useClass: roles_guard_1.RolesGuard,
30
+ },
31
+ {
32
+ provide: core_auth_user_service_1.CoreAuthUserService,
33
+ useClass: UserService,
34
+ },
35
+ {
36
+ provide: 'PUB_SUB',
37
+ useValue: new graphql_subscriptions_1.PubSub(),
38
+ },
39
+ core_auth_service_1.CoreAuthService,
40
+ jwt_strategy_1.JwtStrategy,
41
+ ];
42
+ if (Array.isArray(options === null || options === void 0 ? void 0 : options.providers)) {
43
+ providers = imports.concat(options.providers);
44
+ }
22
45
  return {
23
46
  module: CoreAuthModule_1,
24
- imports: [UserModule, passport_1.PassportModule.register({ defaultStrategy: 'jwt' }), jwt_1.JwtModule.register(options)],
25
- providers: [
26
- {
27
- provide: core_1.APP_GUARD,
28
- useClass: roles_guard_1.RolesGuard,
29
- },
30
- {
31
- provide: core_auth_user_service_1.CoreAuthUserService,
32
- useClass: UserService,
33
- },
34
- {
35
- provide: 'PUB_SUB',
36
- useValue: new graphql_subscriptions_1.PubSub(),
37
- },
38
- core_auth_service_1.CoreAuthService,
39
- jwt_strategy_1.JwtStrategy,
40
- ],
47
+ imports: imports,
48
+ providers: providers,
41
49
  exports: [core_auth_service_1.CoreAuthService, jwt_1.JwtModule, jwt_strategy_1.JwtStrategy, passport_1.PassportModule, UserModule],
42
50
  };
43
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,uCAAyC;AACzC,qCAA0D;AAC1D,+CAAkD;AAClD,sDAAkD;AAClD,iDAA6C;AAC7C,8EAAwE;AACxE,oEAA+D;AAC/D,iEAA+C;AAM/C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAKzB,MAAM,CAAC,OAAO,CACZ,UAAqB,EACrB,WAAsC,EACtC,OAAyB;QAEzB,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE,CAAC,UAAU,EAAE,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,eAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvG,SAAS,EAAE;gBAET;oBACE,OAAO,EAAE,gBAAS;oBAClB,QAAQ,EAAE,wBAAU;iBACrB;gBACD;oBACE,OAAO,EAAE,4CAAmB;oBAC5B,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;iBACvB;gBAGD,mCAAe;gBACf,0BAAW;aACZ;YACD,OAAO,EAAE,CAAC,mCAAe,EAAE,eAAS,EAAE,0BAAW,EAAE,yBAAc,EAAE,UAAU,CAAC;SAC/E,CAAC;IACJ,CAAC;CACF,CAAA;AAnCY,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAmC1B;AAnCY,wCAAc"}
1
+ {"version":3,"file":"core-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyF;AACzF,uCAAyC;AACzC,qCAA0D;AAC1D,+CAAkD;AAClD,sDAAkD;AAClD,iDAA6C;AAC7C,8EAAwE;AACxE,oEAA+D;AAC/D,iEAA+C;AAM/C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAKzB,MAAM,CAAC,OAAO,CACZ,UAAqB,EACrB,WAAsC,EACtC,OAGC;QAGD,IAAI,OAAO,GAAU,CAAC,UAAU,EAAE,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,eAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,EAAE;YACnC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QAGD,IAAI,SAAS,GAAG;YAEd;gBACE,OAAO,EAAE,gBAAS;gBAClB,QAAQ,EAAE,wBAAU;aACrB;YACD;gBACE,OAAO,EAAE,4CAAmB;gBAC5B,QAAQ,EAAE,WAAW;aACtB;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;YAGD,mCAAe;YACf,0BAAW;SACZ,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,EAAE;YACrC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC/C;QAGD,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,CAAC,mCAAe,EAAE,eAAS,EAAE,0BAAW,EAAE,yBAAc,EAAE,UAAU,CAAC;SAC/E,CAAC;IACJ,CAAC;CACF,CAAA;AAnDY,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAmD1B;AAnDY,wCAAc"}
@@ -11,4 +11,5 @@ export declare class CoreAuthService {
11
11
  user: ICoreAuthUser;
12
12
  }>;
13
13
  validateUser(payload: JwtPayload): Promise<any>;
14
+ decodeJwt(token: string): JwtPayload;
14
15
  }
@@ -33,6 +33,9 @@ let CoreAuthService = class CoreAuthService {
33
33
  async validateUser(payload) {
34
34
  return await this.userService.getViaEmail(payload.email);
35
35
  }
36
+ decodeJwt(token) {
37
+ return this.jwtService.decode(token);
38
+ }
36
39
  };
37
40
  CoreAuthService = __decorate([
38
41
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,iCAAiC;AAGjC,qEAA+D;AAM/D,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,YAA+B,WAAgC,EAAqB,UAAsB;QAA3E,gBAAW,GAAX,WAAW,CAAqB;QAAqB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAK9G,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACpD,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,IAAI;SACL,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAmB;QACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAxBY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEiC,4CAAmB,EAAiC,gBAAU;GAD/F,eAAe,CAwB3B;AAxBY,0CAAe"}
1
+ {"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,iCAAiC;AAGjC,qEAA+D;AAM/D,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,YAA+B,WAAgC,EAAqB,UAAsB;QAA3E,gBAAW,GAAX,WAAW,CAAqB;QAAqB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAK9G,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACpD,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,IAAI;SACL,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAmB;QACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAe,CAAC;IACrD,CAAC;CACF,CAAA;AA5BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEiC,4CAAmB,EAAiC,gBAAU;GAD/F,eAAe,CA4B3B;AA5BY,0CAAe"}
@@ -1,5 +1,5 @@
1
1
  import { DynamicModule } from '@nestjs/common';
2
2
  import { IServerOptions } from './core/common/interfaces/server-options.interface';
3
3
  export declare class CoreModule {
4
- static forRoot(options: Partial<IServerOptions>): DynamicModule;
4
+ static forRoot(AuthService: any, AuthModule: any, options: Partial<IServerOptions>): DynamicModule;
5
5
  }
@@ -21,20 +21,36 @@ const mongoose_1 = require("@nestjs/mongoose");
21
21
  const mailjet_service_1 = require("./core/common/services/mailjet.service");
22
22
  const apollo_1 = require("@nestjs/apollo");
23
23
  let CoreModule = CoreModule_1 = class CoreModule {
24
- static forRoot(options) {
24
+ static forRoot(AuthService, AuthModule, options) {
25
25
  const config = config_helper_1.Config.merge({
26
26
  env: 'develop',
27
27
  graphQl: {
28
- autoSchemaFile: 'schema.gql',
29
- context: ({ req }) => ({ req }),
30
- installSubscriptionHandlers: true,
31
- subscriptions: {
32
- 'subscriptions-transport-ws': {
33
- onConnect: (connectionParams) => {
34
- const authToken = connectionParams.Authorization;
28
+ driver: {
29
+ imports: [AuthModule],
30
+ inject: [AuthService],
31
+ useFactory: async (authService) => ({
32
+ autoSchemaFile: 'schema.gql',
33
+ context: ({ req }) => ({ req }),
34
+ installSubscriptionHandlers: true,
35
+ subscriptions: {
36
+ 'subscriptions-transport-ws': {
37
+ onConnect: async (connectionParams) => {
38
+ var _a;
39
+ if (config.graphQl.enableSubscriptionAuth) {
40
+ const authToken = 'Authorization' in connectionParams && ((_a = connectionParams === null || connectionParams === void 0 ? void 0 : connectionParams.Authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1]);
41
+ if (authToken) {
42
+ const payload = authService.decodeJwt(authToken);
43
+ const user = await authService.validateUser(payload);
44
+ return { user: user, headers: connectionParams };
45
+ }
46
+ throw new common_1.UnauthorizedException();
47
+ }
48
+ },
49
+ },
35
50
  },
36
- },
51
+ }),
37
52
  },
53
+ enableSubscriptionAuth: true,
38
54
  },
39
55
  port: 3000,
40
56
  mongoose: {
@@ -68,7 +84,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
68
84
  module: CoreModule_1,
69
85
  imports: [
70
86
  mongoose_1.MongooseModule.forRoot(config.mongoose.uri, config.mongoose.options),
71
- graphql_1.GraphQLModule.forRoot(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl)),
87
+ graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver)),
72
88
  ],
73
89
  providers,
74
90
  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":";;;;;;;;;;AAAA,2CAA+D;AAC/D,uCAAyD;AACzD,6CAAgD;AAChD,uEAA6D;AAC7D,sGAAiG;AAEjG,qFAA+E;AAC/E,0EAAsE;AACtE,wEAAoE;AACpE,8EAA0E;AAC1E,+CAAkD;AAClD,4EAAwE;AACxE,2CAAkE;AAmBlE,IAAa,UAAU,kBAAvB,MAAa,UAAU;IAKrB,MAAM,CAAC,OAAO,CAAC,OAAgC;QAE7C,MAAM,MAAM,GAAmB,sBAAM,CAAC,KAAK,CACzC;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,YAAY;gBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;gBAC/B,2BAA2B,EAAE,IAAI;gBACjC,aAAa,EAAE;oBACb,4BAA4B,EAAE;wBAC5B,SAAS,EAAE,CAAC,gBAAgB,EAAE,EAAE;4BAE9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC;wBACnD,CAAC;qBACF;iBACF;aACF;YACD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,GAAG,EAAE,yCAAyC;gBAC9C,OAAO,EAAE;oBACP,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE;wBAEhC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAC;wBACvE,OAAO,UAAU,CAAC;oBACpB,CAAC;iBACF;aACF;SACgB,EACnB,OAAO,CACR,CAAC;QAGF,MAAM,SAAS,GAAG;YAEhB;gBACE,OAAO,EAAE,8BAAa;gBACtB,QAAQ,EAAE,IAAI,8BAAa,CAAC,MAAM,CAAC;aACpC;YAID;gBACE,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,qDAAwB;aACnC;YAWD;gBACE,OAAO,EAAE,eAAQ;gBACjB,QAAQ,EAAE,0CAAkB;aAC7B;YAGD,4BAAY;YACZ,kCAAe;YACf,gCAAc;SACf,CAAC;QAGF,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE;gBACP,yBAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpE,uBAAa,CAAC,OAAO,CAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;aACnG;YACD,SAAS;YACT,OAAO,EAAE,CAAC,8BAAa,EAAE,4BAAY,EAAE,kCAAe,EAAE,gCAAc,CAAC;SACxE,CAAC;IACJ,CAAC;CACF,CAAA;AApFY,UAAU;IAFtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAoFtB;AApFY,gCAAU"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,13 @@ const core_module_1 = require("../core.module");
13
13
  const auth_module_1 = require("./modules/auth/auth.module");
14
14
  const file_controller_1 = require("./modules/file/file.controller");
15
15
  const server_controller_1 = require("./server.controller");
16
+ const core_auth_service_1 = require("../core/modules/auth/services/core-auth.service");
16
17
  let ServerModule = class ServerModule {
17
18
  };
18
19
  ServerModule = __decorate([
19
20
  (0, common_1.Module)({
20
21
  imports: [
21
- core_module_1.CoreModule.forRoot(config_env_1.default),
22
+ core_module_1.CoreModule.forRoot(core_auth_service_1.CoreAuthService, auth_module_1.AuthModule.forRoot(config_env_1.default.jwt), config_env_1.default),
22
23
  auth_module_1.AuthModule.forRoot(config_env_1.default.jwt),
23
24
  ],
24
25
  controllers: [file_controller_1.FileController, server_controller_1.ServerController],
@@ -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,4DAAwD;AACxD,oEAAgE;AAChE,2DAAuD;AAyBvD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,IAAA,eAAM,EAAC;QAEN,OAAO,EAAE;YAEP,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC;YAI7B,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC;SAClC;QAGD,WAAW,EAAE,CAAC,gCAAc,EAAE,oCAAgB,CAAC;QAG/C,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,CAAC;KAClC,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,8CAAsC;AACtC,gDAA4C;AAC5C,4DAAwD;AACxD,oEAAgE;AAChE,2DAAuD;AACvD,uFAAkF;AAyBlF,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,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;SAClC;QAGD,WAAW,EAAE,CAAC,gCAAc,EAAE,oCAAgB,CAAC;QAG/C,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,CAAC;KAClC,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
@@ -7,7 +7,7 @@ export declare enum TestGraphQLType {
7
7
  SUBSCRIPTION = "subscription"
8
8
  }
9
9
  export interface TestFieldObject {
10
- [key: string]: boolean | string[] | TestFieldObject;
10
+ [key: string]: boolean | (string | TestFieldObject)[] | TestFieldObject;
11
11
  }
12
12
  export declare type TestFields = string | string[] | TestFieldObject;
13
13
  export interface TestGraphQLConfig {