@kominal/common-nestjs 0.1.1 → 0.1.3

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.
@@ -1,2 +1,2 @@
1
1
  export declare function findControllers(module: any): any[];
2
- export declare function bootstrap(module: any, bodyParser?: boolean): Promise<void>;
2
+ export declare function bootstrap(module: any, bodyParser?: boolean, validate?: boolean): Promise<void>;
@@ -28,7 +28,7 @@ function findControllers(module) {
28
28
  const imports = reflector.get('imports', module) || [];
29
29
  return [...imports.reduce((acc, mod) => [...acc, ...findControllers(mod)], []), ...controllers];
30
30
  }
31
- async function bootstrap(module, bodyParser = true) {
31
+ async function bootstrap(module, bodyParser = true, validate = true) {
32
32
  if (process.env.GENERATE_SWAGGER) {
33
33
  const moduleRef = await testing_1.Test.createTestingModule({ controllers: findControllers(module) })
34
34
  .useMocker(() => ({}))
@@ -43,7 +43,7 @@ async function bootstrap(module, bodyParser = true) {
43
43
  cors: { origin: '*' },
44
44
  bodyParser,
45
45
  });
46
- app.useGlobalPipes(new common_1.ValidationPipe());
46
+ app.useGlobalPipes(new common_1.ValidationPipe(validate ? { transform: true, whitelist: true, enableDebugMessages: true } : undefined));
47
47
  app.useGlobalFilters(new exception_filter_1.CommonExceptionFilter());
48
48
  app.enableCors();
49
49
  if (bodyParser) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/executables/bootstrap.ts"],"names":[],"mappings":";;AAwBA,0CAKC;AAED,8BAwBC;AAvDD,2CAAkE;AAClE,uCAAsD;AACtD,6CAAgF;AAChF,6CAAsD;AACtD,6CAAmC;AACnC,2BAAmC;AACnC,qCAA+B;AAC/B,kEAAoE;AACpE,8CAAiD;AAEjD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE;IAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,GAAqB;IAC7C,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,MAAM,CAAC;SAChB,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC9C,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IAEX,OAAO,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,eAAe,CAAC,MAAW;IACzC,MAAM,SAAS,GAAG,IAAI,gBAAS,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAQ,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAQ,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;AAC9G,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,MAAW,EAAE,UAAU,GAAG,IAAI;IAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;aACtG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACrB,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAE9C,IAAA,kBAAa,EAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;IACV,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3C,MAAM,EAAE,IAAI,qBAAY,EAAE;YAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;YACrB,UAAU;SACX,CAAC,CAAC;QACH,GAAG,CAAC,cAAc,CAAC,IAAI,uBAAc,EAAE,CAAC,CAAC;QACzC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wCAAqB,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,UAAU,EAAE,CAAC;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,IAAA,kBAAI,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,uBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/executables/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,10 @@ import { UserModel } from '../entities/user.entity';
4
4
  import { UserContext } from '../helpers/context.decorator';
5
5
  import { AuthService } from '../services/auth.service';
6
6
  export declare class UserGuard implements CanActivate {
7
- private membershipModel;
8
7
  private userModel;
9
8
  private authService;
10
- constructor(membershipModel: MembershipModel, userModel: UserModel, authService: AuthService);
9
+ private membershipModel;
10
+ constructor(userModel: UserModel, authService: AuthService, membershipModel: MembershipModel);
11
11
  populateUserContext(context: ExecutionContext): Promise<UserContext | undefined>;
12
12
  canActivate(context: ExecutionContext): Promise<boolean>;
13
13
  }
@@ -20,10 +20,10 @@ const membership_entity_1 = require("../entities/membership.entity");
20
20
  const user_entity_1 = require("../entities/user.entity");
21
21
  const auth_service_1 = require("../services/auth.service");
22
22
  let UserGuard = class UserGuard {
23
- constructor(membershipModel, userModel, authService) {
24
- this.membershipModel = membershipModel;
23
+ constructor(userModel, authService, membershipModel) {
25
24
  this.userModel = userModel;
26
25
  this.authService = authService;
26
+ this.membershipModel = membershipModel;
27
27
  }
28
28
  async populateUserContext(context) {
29
29
  const req = context.switchToHttp().getRequest();
@@ -47,8 +47,10 @@ let UserGuard = class UserGuard {
47
47
  updatedBy: userContext.email,
48
48
  },
49
49
  }, { upsert: true });
50
- const invitations = await this.membershipModel.find({ email: userContext.email, status: membership_entity_1.MembershipStatus.INVITED });
51
- await Promise.all(invitations.map(async (invitation) => invitation.updateOne({ userId: userContext.userId, status: membership_entity_1.MembershipStatus.ACTIVE })));
50
+ if (this.membershipModel) {
51
+ const invitations = await this.membershipModel.find({ email: userContext.email, status: membership_entity_1.MembershipStatus.INVITED });
52
+ await Promise.all(invitations.map(async (invitation) => invitation.updateOne({ userId: userContext.userId, status: membership_entity_1.MembershipStatus.ACTIVE })));
53
+ }
52
54
  return userContext;
53
55
  }
54
56
  async canActivate(context) {
@@ -59,8 +61,9 @@ let UserGuard = class UserGuard {
59
61
  exports.UserGuard = UserGuard;
60
62
  exports.UserGuard = UserGuard = __decorate([
61
63
  (0, common_1.Injectable)(),
62
- __param(0, (0, mongoose_1.InjectModel)(membership_entity_1.Membership.name)),
63
- __param(1, (0, mongoose_1.InjectModel)(user_entity_1.User.name)),
64
- __metadata("design:paramtypes", [Object, Object, auth_service_1.AuthService])
64
+ __param(0, (0, mongoose_1.InjectModel)(user_entity_1.User.name)),
65
+ __param(2, (0, common_1.Optional)()),
66
+ __param(2, (0, mongoose_1.InjectModel)(membership_entity_1.Membership.name)),
67
+ __metadata("design:paramtypes", [Object, auth_service_1.AuthService, Object])
65
68
  ], UserGuard);
66
69
  //# sourceMappingURL=user.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.guard.js","sourceRoot":"","sources":["../../src/guards/user.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,+CAA+C;AAC/C,+BAA0B;AAC1B,qEAA8F;AAC9F,yDAA0D;AAE1D,2DAAuD;AAGhD,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YACwC,eAAgC,EACtC,SAAoB,EAC5C,WAAwB;QAFM,oBAAe,GAAf,eAAe,CAAiB;QACtC,cAAS,GAAT,SAAS,CAAW;QAC5C,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEG,KAAK,CAAC,mBAAmB,CAAC,OAAyB;QACxD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;SAC7B,CAAC;QACF,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAE9B,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC5B,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAC9B;YACE,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,YAAY,EAAE;gBACZ,IAAI,EAAE,IAAA,SAAE,GAAE;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,WAAW,CAAC,KAAK;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,WAAW,CAAC,KAAK;aAC7B;SACF,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,oCAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;QACpH,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,oCAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhJ,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;CACF,CAAA;AAhDY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,sBAAW,EAAC,8BAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,WAAA,IAAA,sBAAW,EAAC,kBAAI,CAAC,IAAI,CAAC,CAAA;qDACF,0BAAW;GAJvB,SAAS,CAgDrB"}
1
+ {"version":3,"file":"user.guard.js","sourceRoot":"","sources":["../../src/guards/user.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,+CAA+C;AAC/C,+BAA0B;AAC1B,qEAA8F;AAC9F,yDAA0D;AAE1D,2DAAuD;AAGhD,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YACkC,SAAoB,EAC5C,WAAwB,EACkB,eAAgC;QAFlD,cAAS,GAAT,SAAS,CAAW;QAC5C,gBAAW,GAAX,WAAW,CAAa;QACkB,oBAAe,GAAf,eAAe,CAAiB;IACjF,CAAC;IAEG,KAAK,CAAC,mBAAmB,CAAC,OAAyB;QACxD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;SAC7B,CAAC;QACF,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAE9B,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC5B,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAC9B;YACE,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,YAAY,EAAE;gBACZ,IAAI,EAAE,IAAA,SAAE,GAAE;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,WAAW,CAAC,KAAK;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,WAAW,CAAC,KAAK;aAC7B;SACF,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,oCAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACpH,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,oCAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;CACF,CAAA;AAlDY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,sBAAW,EAAC,kBAAI,CAAC,IAAI,CAAC,CAAA;IAEtB,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,sBAAW,EAAC,8BAAU,CAAC,IAAI,CAAC,CAAA;6CADpB,0BAAW;GAHvB,SAAS,CAkDrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kominal/common-nestjs",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {