@recursyve/nestjs-pidgey 9.1.0 → 11.0.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.
Files changed (36) hide show
  1. package/index.js +2 -2
  2. package/modules/auth0/auth/services/auth.service.d.ts +2 -2
  3. package/modules/auth0/auth/services/auth.service.js +4 -3
  4. package/modules/auth0/auth.client.js +2 -2
  5. package/modules/auth0/auth0.module.js +2 -2
  6. package/modules/auth0/auth0.service.js +2 -2
  7. package/modules/config/services/pidgey-config-store.service.d.ts +3 -3
  8. package/modules/config/services/pidgey-config-store.service.js +2 -2
  9. package/modules/config/services/pidgey-config.service.js +2 -2
  10. package/modules/mails/index.js +2 -2
  11. package/modules/mails/models/mails.model.js +1 -1
  12. package/modules/mails/services/mail-templates.service.js +2 -2
  13. package/modules/mails/services/mails.service.js +2 -2
  14. package/modules/postal/index.js +2 -2
  15. package/modules/postal/services/postal-templates.service.js +2 -2
  16. package/modules/service-base/service-base.js +1 -1
  17. package/modules/service-base/service-base.module.js +2 -2
  18. package/modules/sms/index.js +2 -2
  19. package/modules/sms/services/sms-templates.service.js +2 -2
  20. package/modules/tenants/index.js +2 -2
  21. package/modules/tenants/models/tenant-credentials.model.js +1 -1
  22. package/modules/transport/dto/email.dto.d.ts +0 -1
  23. package/modules/transport/index.js +2 -2
  24. package/modules/transport/services/email-transport.service.js +2 -2
  25. package/modules/transport/services/postal-transport.service.js +2 -2
  26. package/modules/transport/services/sms-transport.service.js +2 -2
  27. package/modules/webhooks/guards/webhook.guard.js +2 -2
  28. package/package.json +40 -38
  29. package/tenant.factory.js +4 -4
  30. package/testbed.js +2 -2
  31. package/guards/webhook.guard.d.ts +0 -7
  32. package/guards/webhook.guard.js +0 -44
  33. package/recursyve-nestjs-pidgey-8.0.3.tgz +0 -0
  34. package/recursyve-nestjs-pidgey-8.0.4.tgz +0 -0
  35. package/recursyve-nestjs-pidgey-9.1.0.tgz +0 -0
  36. package/recursyve-nestjs-pidgey-9.1.1.tgz +0 -0
package/index.js CHANGED
@@ -52,7 +52,8 @@ let PidgeyModule = PidgeyModule_1 = class PidgeyModule {
52
52
  };
53
53
  }
54
54
  };
55
- PidgeyModule = PidgeyModule_1 = __decorate([
55
+ exports.PidgeyModule = PidgeyModule;
56
+ exports.PidgeyModule = PidgeyModule = PidgeyModule_1 = __decorate([
56
57
  (0, common_1.Global)(),
57
58
  (0, common_1.Module)({
58
59
  imports: [tenants_1.TenantsModule],
@@ -60,7 +61,6 @@ PidgeyModule = PidgeyModule_1 = __decorate([
60
61
  exports: [pidgey_config_store_service_1.PidgeyConfigStoreService]
61
62
  })
62
63
  ], PidgeyModule);
63
- exports.PidgeyModule = PidgeyModule;
64
64
  __exportStar(require("./modules/mails"), exports);
65
65
  __exportStar(require("./modules/sms"), exports);
66
66
  __exportStar(require("./modules/postal"), exports);
@@ -1,14 +1,14 @@
1
1
  import { OnModuleInit } from "@nestjs/common";
2
+ import { TokenSet } from "auth0";
2
3
  import { PidgeyConfigStoreService } from "../../../config/services/pidgey-config-store.service";
3
4
  import { PidgeyConfigService } from "../../../config/services/pidgey-config.service";
4
5
  import { Auth0AuthClient } from "../../auth.client";
5
- import { AccessTokenModel } from "../model/access-token.model";
6
6
  export declare class AuthService extends Auth0AuthClient implements OnModuleInit {
7
7
  private store;
8
8
  private accessToken;
9
9
  constructor(configService: PidgeyConfigService, store: PidgeyConfigStoreService);
10
10
  onModuleInit(): Promise<void>;
11
- getAccessToken(): Promise<AccessTokenModel>;
11
+ getAccessToken(): Promise<TokenSet>;
12
12
  private fetchAccessToken;
13
13
  private validateAccessToken;
14
14
  }
@@ -31,9 +31,10 @@ let AuthService = class AuthService extends auth_client_1.Auth0AuthClient {
31
31
  return this.accessToken;
32
32
  }
33
33
  async fetchAccessToken() {
34
- return await this.client.clientCredentialsGrant({
34
+ const res = await this.client.oauth.clientCredentialsGrant({
35
35
  audience: "https://pidgey.recursyve.dev"
36
36
  });
37
+ return res.data;
37
38
  }
38
39
  validateAccessToken() {
39
40
  if (!this.accessToken) {
@@ -46,8 +47,8 @@ let AuthService = class AuthService extends auth_client_1.Auth0AuthClient {
46
47
  return now < exp;
47
48
  }
48
49
  };
49
- AuthService = __decorate([
50
+ exports.AuthService = AuthService;
51
+ exports.AuthService = AuthService = __decorate([
50
52
  (0, common_1.Injectable)(),
51
53
  __metadata("design:paramtypes", [pidgey_config_service_1.PidgeyConfigService, pidgey_config_store_service_1.PidgeyConfigStoreService])
52
54
  ], AuthService);
53
- exports.AuthService = AuthService;
@@ -19,8 +19,8 @@ let Auth0AuthClient = class Auth0AuthClient {
19
19
  this.client = new auth0_1.AuthenticationClient(this.configService.auth0Config);
20
20
  }
21
21
  };
22
- Auth0AuthClient = __decorate([
22
+ exports.Auth0AuthClient = Auth0AuthClient;
23
+ exports.Auth0AuthClient = Auth0AuthClient = __decorate([
23
24
  (0, common_1.Injectable)(),
24
25
  __metadata("design:paramtypes", [pidgey_config_service_1.PidgeyConfigService])
25
26
  ], Auth0AuthClient);
26
- exports.Auth0AuthClient = Auth0AuthClient;
@@ -12,10 +12,10 @@ const auth_service_1 = require("./auth/services/auth.service");
12
12
  const auth0_service_1 = require("./auth0.service");
13
13
  let Auth0Module = class Auth0Module {
14
14
  };
15
- Auth0Module = __decorate([
15
+ exports.Auth0Module = Auth0Module;
16
+ exports.Auth0Module = Auth0Module = __decorate([
16
17
  (0, common_1.Module)({
17
18
  providers: [auth0_service_1.Auth0Service, auth_service_1.AuthService],
18
19
  exports: [auth0_service_1.Auth0Service, auth_service_1.AuthService]
19
20
  })
20
21
  ], Auth0Module);
21
- exports.Auth0Module = Auth0Module;
@@ -20,8 +20,8 @@ let Auth0Service = class Auth0Service {
20
20
  return this.authService;
21
21
  }
22
22
  };
23
- Auth0Service = __decorate([
23
+ exports.Auth0Service = Auth0Service;
24
+ exports.Auth0Service = Auth0Service = __decorate([
24
25
  (0, common_1.Injectable)(),
25
26
  __metadata("design:paramtypes", [auth_service_1.AuthService])
26
27
  ], Auth0Service);
27
- exports.Auth0Service = Auth0Service;
@@ -1,8 +1,8 @@
1
- import { AccessTokenModel } from "../../auth0/auth/model/access-token.model";
1
+ import { TokenSet } from "auth0";
2
2
  export declare class PidgeyConfigStoreService {
3
3
  private filePath;
4
- saveToken(clientId: string, token: AccessTokenModel): Promise<void>;
5
- getToken(clientId: string): Promise<AccessTokenModel>;
4
+ saveToken(clientId: string, token: TokenSet): Promise<void>;
5
+ getToken(clientId: string): Promise<TokenSet>;
6
6
  private openFile;
7
7
  private saveFile;
8
8
  }
@@ -58,7 +58,7 @@ let PidgeyConfigStoreService = class PidgeyConfigStoreService {
58
58
  fs.writeFileSync(this.filePath, JSON.stringify(file));
59
59
  }
60
60
  };
61
- PidgeyConfigStoreService = __decorate([
61
+ exports.PidgeyConfigStoreService = PidgeyConfigStoreService;
62
+ exports.PidgeyConfigStoreService = PidgeyConfigStoreService = __decorate([
62
63
  (0, common_1.Injectable)()
63
64
  ], PidgeyConfigStoreService);
64
- exports.PidgeyConfigStoreService = PidgeyConfigStoreService;
@@ -32,8 +32,8 @@ let PidgeyConfigService = class PidgeyConfigService {
32
32
  this._pubSubConfig = config;
33
33
  }
34
34
  };
35
- PidgeyConfigService = __decorate([
35
+ exports.PidgeyConfigService = PidgeyConfigService;
36
+ exports.PidgeyConfigService = PidgeyConfigService = __decorate([
36
37
  (0, common_1.Injectable)(),
37
38
  __metadata("design:paramtypes", [String])
38
39
  ], PidgeyConfigService);
39
- exports.PidgeyConfigService = PidgeyConfigService;
@@ -40,14 +40,14 @@ let MailsModule = MailsModule_1 = class MailsModule {
40
40
  };
41
41
  }
42
42
  };
43
- MailsModule = MailsModule_1 = __decorate([
43
+ exports.MailsModule = MailsModule;
44
+ exports.MailsModule = MailsModule = MailsModule_1 = __decorate([
44
45
  (0, common_1.Module)({
45
46
  imports: [service_base_module_1.ServiceBaseModule],
46
47
  providers: [mails_service_1.MailsService, mail_templates_service_1.MailTemplatesService],
47
48
  exports: [mails_service_1.MailsService, mail_templates_service_1.MailTemplatesService]
48
49
  })
49
50
  ], MailsModule);
50
- exports.MailsModule = MailsModule;
51
51
  __exportStar(require("./dto/mail-templates.dto"), exports);
52
52
  __exportStar(require("./models/mails.model"), exports);
53
53
  __exportStar(require("./models/mail-templates.model"), exports);
@@ -6,4 +6,4 @@ var MailStatus;
6
6
  MailStatus["Delivered"] = "delivered";
7
7
  MailStatus["Failed"] = "failed";
8
8
  MailStatus["Queued"] = "queued";
9
- })(MailStatus = exports.MailStatus || (exports.MailStatus = {}));
9
+ })(MailStatus || (exports.MailStatus = MailStatus = {}));
@@ -48,9 +48,9 @@ let MailTemplatesService = MailTemplatesService_1 = class MailTemplatesService e
48
48
  return this.delete(`${id}`).pipe((0, operators_1.map)((res) => res.status === common_1.HttpStatus.NO_CONTENT));
49
49
  }
50
50
  };
51
- MailTemplatesService = MailTemplatesService_1 = __decorate([
51
+ exports.MailTemplatesService = MailTemplatesService;
52
+ exports.MailTemplatesService = MailTemplatesService = MailTemplatesService_1 = __decorate([
52
53
  (0, common_1.Injectable)(),
53
54
  __param(0, (0, common_1.Inject)(constant_1.TENANT_ID)),
54
55
  __metadata("design:paramtypes", [String])
55
56
  ], MailTemplatesService);
56
- exports.MailTemplatesService = MailTemplatesService;
@@ -44,9 +44,9 @@ let MailsService = MailsService_1 = class MailsService extends service_base_1.Se
44
44
  return this.get(querystring.encode(options)).pipe((0, operators_1.map)((res) => res.data));
45
45
  }
46
46
  };
47
- MailsService = MailsService_1 = __decorate([
47
+ exports.MailsService = MailsService;
48
+ exports.MailsService = MailsService = MailsService_1 = __decorate([
48
49
  (0, common_1.Injectable)(),
49
50
  __param(0, (0, common_1.Inject)(constant_1.TENANT_ID)),
50
51
  __metadata("design:paramtypes", [String])
51
52
  ], MailsService);
52
- exports.MailsService = MailsService;
@@ -39,14 +39,14 @@ let PostalModule = PostalModule_1 = class PostalModule {
39
39
  };
40
40
  }
41
41
  };
42
- PostalModule = PostalModule_1 = __decorate([
42
+ exports.PostalModule = PostalModule;
43
+ exports.PostalModule = PostalModule = PostalModule_1 = __decorate([
43
44
  (0, common_1.Module)({
44
45
  imports: [service_base_module_1.ServiceBaseModule],
45
46
  providers: [postal_templates_service_1.PostalTemplatesService],
46
47
  exports: [postal_templates_service_1.PostalTemplatesService]
47
48
  })
48
49
  ], PostalModule);
49
- exports.PostalModule = PostalModule;
50
50
  __exportStar(require("./dto/postal-templates.dto"), exports);
51
51
  __exportStar(require("./models/postal-templates.model"), exports);
52
52
  __exportStar(require("./services/postal-templates.service"), exports);
@@ -48,9 +48,9 @@ let PostalTemplatesService = PostalTemplatesService_1 = class PostalTemplatesSer
48
48
  return this.delete(`${id}`).pipe((0, operators_1.map)((res) => res.status === common_1.HttpStatus.NO_CONTENT));
49
49
  }
50
50
  };
51
- PostalTemplatesService = PostalTemplatesService_1 = __decorate([
51
+ exports.PostalTemplatesService = PostalTemplatesService;
52
+ exports.PostalTemplatesService = PostalTemplatesService = PostalTemplatesService_1 = __decorate([
52
53
  (0, common_1.Injectable)(),
53
54
  __param(0, (0, common_1.Inject)(constant_1.TENANT_ID)),
54
55
  __metadata("design:paramtypes", [String])
55
56
  ], PostalTemplatesService);
56
- exports.PostalTemplatesService = PostalTemplatesService;
@@ -48,6 +48,7 @@ class ServiceBase {
48
48
  })));
49
49
  }
50
50
  }
51
+ exports.ServiceBase = ServiceBase;
51
52
  __decorate([
52
53
  (0, common_1.Inject)(),
53
54
  __metadata("design:type", pidgey_config_service_1.PidgeyConfigService)
@@ -60,4 +61,3 @@ __decorate([
60
61
  (0, common_1.Inject)(),
61
62
  __metadata("design:type", auth0_service_1.Auth0Service)
62
63
  ], ServiceBase.prototype, "auth0Service", void 0);
63
- exports.ServiceBase = ServiceBase;
@@ -12,10 +12,10 @@ const common_1 = require("@nestjs/common");
12
12
  const auth0_module_1 = require("../auth0/auth0.module");
13
13
  let ServiceBaseModule = class ServiceBaseModule {
14
14
  };
15
- ServiceBaseModule = __decorate([
15
+ exports.ServiceBaseModule = ServiceBaseModule;
16
+ exports.ServiceBaseModule = ServiceBaseModule = __decorate([
16
17
  (0, common_1.Module)({
17
18
  imports: [axios_1.HttpModule, auth0_module_1.Auth0Module],
18
19
  exports: [axios_1.HttpModule, auth0_module_1.Auth0Module]
19
20
  })
20
21
  ], ServiceBaseModule);
21
- exports.ServiceBaseModule = ServiceBaseModule;
@@ -39,14 +39,14 @@ let SmsModule = SmsModule_1 = class SmsModule {
39
39
  };
40
40
  }
41
41
  };
42
- SmsModule = SmsModule_1 = __decorate([
42
+ exports.SmsModule = SmsModule;
43
+ exports.SmsModule = SmsModule = SmsModule_1 = __decorate([
43
44
  (0, common_1.Module)({
44
45
  imports: [service_base_module_1.ServiceBaseModule],
45
46
  providers: [sms_templates_service_1.SmsTemplatesService],
46
47
  exports: [sms_templates_service_1.SmsTemplatesService]
47
48
  })
48
49
  ], SmsModule);
49
- exports.SmsModule = SmsModule;
50
50
  __exportStar(require("./dto/sms-templates.dto"), exports);
51
51
  __exportStar(require("./models/sms-templates.model"), exports);
52
52
  __exportStar(require("./services/sms-templates.service"), exports);
@@ -48,9 +48,9 @@ let SmsTemplatesService = SmsTemplatesService_1 = class SmsTemplatesService exte
48
48
  return this.delete(`${id}`).pipe((0, operators_1.map)((res) => res.status === common_1.HttpStatus.NO_CONTENT));
49
49
  }
50
50
  };
51
- SmsTemplatesService = SmsTemplatesService_1 = __decorate([
51
+ exports.SmsTemplatesService = SmsTemplatesService;
52
+ exports.SmsTemplatesService = SmsTemplatesService = SmsTemplatesService_1 = __decorate([
52
53
  (0, common_1.Injectable)(),
53
54
  __param(0, (0, common_1.Inject)(constant_1.TENANT_ID)),
54
55
  __metadata("design:paramtypes", [String])
55
56
  ], SmsTemplatesService);
56
- exports.SmsTemplatesService = SmsTemplatesService;
@@ -39,13 +39,13 @@ let TenantsModule = TenantsModule_1 = class TenantsModule {
39
39
  };
40
40
  }
41
41
  };
42
- TenantsModule = TenantsModule_1 = __decorate([
42
+ exports.TenantsModule = TenantsModule;
43
+ exports.TenantsModule = TenantsModule = TenantsModule_1 = __decorate([
43
44
  (0, common_1.Module)({
44
45
  imports: [service_base_module_1.ServiceBaseModule],
45
46
  providers: [tenants_service_1.TenantsService],
46
47
  exports: [tenants_service_1.TenantsService]
47
48
  })
48
49
  ], TenantsModule);
49
- exports.TenantsModule = TenantsModule;
50
50
  __exportStar(require("./models/tenants.model"), exports);
51
51
  __exportStar(require("./services/tenants.service"), exports);
@@ -4,7 +4,7 @@ exports.TenantCredentialsModel = exports.TenantCredentialTypes = void 0;
4
4
  var TenantCredentialTypes;
5
5
  (function (TenantCredentialTypes) {
6
6
  TenantCredentialTypes["GCP"] = "gcp";
7
- })(TenantCredentialTypes = exports.TenantCredentialTypes || (exports.TenantCredentialTypes = {}));
7
+ })(TenantCredentialTypes || (exports.TenantCredentialTypes = TenantCredentialTypes = {}));
8
8
  class TenantCredentialsModel {
9
9
  }
10
10
  exports.TenantCredentialsModel = TenantCredentialsModel;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  export interface EmailAttachmentsDto {
3
2
  originalname: string;
4
3
  mimetype: string;
@@ -30,13 +30,13 @@ const postal_transport_service_1 = require("./services/postal-transport.service"
30
30
  Object.defineProperty(exports, "PostalTransportService", { enumerable: true, get: function () { return postal_transport_service_1.PostalTransportService; } });
31
31
  let TransportModule = class TransportModule {
32
32
  };
33
- TransportModule = __decorate([
33
+ exports.TransportModule = TransportModule;
34
+ exports.TransportModule = TransportModule = __decorate([
34
35
  (0, common_1.Module)({
35
36
  providers: [email_transport_service_1.EmailTransportService, sms_transport_service_1.SmsTransportService, postal_transport_service_1.PostalTransportService],
36
37
  exports: [email_transport_service_1.EmailTransportService, sms_transport_service_1.SmsTransportService, postal_transport_service_1.PostalTransportService]
37
38
  })
38
39
  ], TransportModule);
39
- exports.TransportModule = TransportModule;
40
40
  __exportStar(require("./dto/email.dto"), exports);
41
41
  __exportStar(require("./dto/sms.dto"), exports);
42
42
  __exportStar(require("./dto/postal.dto"), exports);
@@ -44,9 +44,9 @@ let EmailTransportService = class EmailTransportService {
44
44
  });
45
45
  }
46
46
  };
47
- EmailTransportService = __decorate([
47
+ exports.EmailTransportService = EmailTransportService;
48
+ exports.EmailTransportService = EmailTransportService = __decorate([
48
49
  (0, common_1.Injectable)(),
49
50
  __param(0, (0, common_1.Inject)(constant_1.TENANT)),
50
51
  __metadata("design:paramtypes", [Object, pidgey_config_service_1.PidgeyConfigService])
51
52
  ], EmailTransportService);
52
- exports.EmailTransportService = EmailTransportService;
@@ -42,9 +42,9 @@ let PostalTransportService = class PostalTransportService {
42
42
  await this.topic.publishMessage({ json: postal });
43
43
  }
44
44
  };
45
- PostalTransportService = __decorate([
45
+ exports.PostalTransportService = PostalTransportService;
46
+ exports.PostalTransportService = PostalTransportService = __decorate([
46
47
  (0, common_1.Injectable)(),
47
48
  __param(0, (0, common_1.Inject)(constant_1.TENANT)),
48
49
  __metadata("design:paramtypes", [Object, pidgey_config_service_1.PidgeyConfigService])
49
50
  ], PostalTransportService);
50
- exports.PostalTransportService = PostalTransportService;
@@ -42,9 +42,9 @@ let SmsTransportService = class SmsTransportService {
42
42
  await this.topic.publishMessage({ json: sms });
43
43
  }
44
44
  };
45
- SmsTransportService = __decorate([
45
+ exports.SmsTransportService = SmsTransportService;
46
+ exports.SmsTransportService = SmsTransportService = __decorate([
46
47
  (0, common_1.Injectable)(),
47
48
  __param(0, (0, common_1.Inject)(constant_1.TENANT)),
48
49
  __metadata("design:paramtypes", [Object, pidgey_config_service_1.PidgeyConfigService])
49
50
  ], SmsTransportService);
50
- exports.SmsTransportService = SmsTransportService;
@@ -37,8 +37,8 @@ let PidgeyWebhookGuard = class PidgeyWebhookGuard {
37
37
  return true;
38
38
  }
39
39
  };
40
- PidgeyWebhookGuard = __decorate([
40
+ exports.PidgeyWebhookGuard = PidgeyWebhookGuard;
41
+ exports.PidgeyWebhookGuard = PidgeyWebhookGuard = __decorate([
41
42
  (0, common_1.Injectable)(),
42
43
  __metadata("design:paramtypes", [pidgey_config_service_1.PidgeyConfigService])
43
44
  ], PidgeyWebhookGuard);
44
- exports.PidgeyWebhookGuard = PidgeyWebhookGuard;
package/package.json CHANGED
@@ -1,40 +1,42 @@
1
1
  {
2
- "name": "@recursyve/nestjs-pidgey",
3
- "version": "9.1.0",
4
- "description": "Recursyve's pidgey client for NestJs",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/Recursyve/email/clients/nestjs"
8
- },
9
- "author": "Recursyve <support@recursyve.io>",
10
- "license": "MIT",
11
- "scripts": {
12
- "test": "jest"
13
- },
14
- "peerDependencies": {
15
- "@nestjs/common": ">= 9.0.0",
16
- "@nestjs/core": ">= 9.0.0",
17
- "@nestjs/axios": ">= 1.0.0",
18
- "dotenv": ">= 10.0.0",
19
- "rxjs": ">= 7.0.0",
20
- "reflect-metadata": ">= 0.1.13"
21
- },
22
- "dependencies": {
23
- "@google-cloud/pubsub": "^3.2.1",
24
- "auth0": "^3.0.1"
25
- },
26
- "devDependencies": {
27
- "@nestjs/axios": "^1.0.1",
28
- "@nestjs/common": "^9.2.1",
29
- "@nestjs/core": "^9.2.1",
30
- "@nestjs/testing": "^9.2.1",
31
- "@types/auth0": "^2.35.8",
32
- "@types/jest": "^29.2.5",
33
- "dotenv": "^16.0.3",
34
- "jest": "^29.3.1",
35
- "reflect-metadata": "^0.1.13",
36
- "rxjs": "^7.8.0",
37
- "ts-jest": "^29.0.3",
38
- "typescript": "^4.9.4"
39
- }
2
+ "name": "@recursyve/nestjs-pidgey",
3
+ "version": "11.0.0",
4
+ "description": "Recursyve's pidgey client for NestJs",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Recursyve/email/clients/nestjs"
8
+ },
9
+ "author": "Recursyve <support@recursyve.io>",
10
+ "license": "MIT",
11
+ "scripts": {
12
+ "test": "jest"
13
+ },
14
+ "peerDependencies": {
15
+ "@nestjs/axios": ">= 4.0.0",
16
+ "@nestjs/common": ">= 11.0.0",
17
+ "@nestjs/core": ">= 11.0.0",
18
+ "axios": "^1.8.4",
19
+ "dotenv": ">= 10.0.0",
20
+ "reflect-metadata": ">= 0.1.13",
21
+ "rxjs": ">= 7.0.0"
22
+ },
23
+ "dependencies": {
24
+ "@google-cloud/pubsub": "^4.11.0",
25
+ "@types/node": "^22.14.0",
26
+ "auth0": "^4.21.0"
27
+ },
28
+ "devDependencies": {
29
+ "@nestjs/axios": "^4.0.0",
30
+ "@nestjs/common": "^11.0.15",
31
+ "@nestjs/core": "^11.0.15",
32
+ "@nestjs/testing": "^11.0.15",
33
+ "@types/jest": "^29.5.14",
34
+ "axios": "^1.8.4",
35
+ "dotenv": "^16.4.7",
36
+ "jest": "^29.7.0",
37
+ "reflect-metadata": "^0.2.2",
38
+ "rxjs": "^7.8.2",
39
+ "ts-jest": "^29.3.1",
40
+ "typescript": "^5.8.3"
41
+ }
40
42
  }
package/tenant.factory.js CHANGED
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tenantFactory = void 0;
3
+ exports.tenantFactory = tenantFactory;
4
4
  const common_1 = require("@nestjs/common");
5
+ const rxjs_1 = require("rxjs");
5
6
  const pubsub_config_1 = require("./modules/config/models/pubsub-config");
6
7
  function tenantFactory(tenantId) {
7
8
  return async (tenantService, configService) => {
8
9
  let tenant;
9
10
  try {
10
- tenant = await tenantService.findById(tenantId).toPromise();
11
+ tenant = await (0, rxjs_1.lastValueFrom)(tenantService.findById(tenantId));
11
12
  common_1.Logger.log("Tenant successfully loaded", "NestJs Pidgey");
12
13
  }
13
14
  catch (e) {
@@ -16,7 +17,7 @@ function tenantFactory(tenantId) {
16
17
  try {
17
18
  const credentialsPath = process.env.PUB_SUB_CREDENTIALS;
18
19
  if (!credentialsPath) {
19
- const credentials = await tenantService.getCredentials(tenantId).toPromise();
20
+ const credentials = await (0, rxjs_1.lastValueFrom)(tenantService.getCredentials(tenantId));
20
21
  configService.setPubSubConfig(pubsub_config_1.PubSubConfig.fromBase64(credentials.config.privateKeyData));
21
22
  }
22
23
  else {
@@ -30,4 +31,3 @@ function tenantFactory(tenantId) {
30
31
  return tenant;
31
32
  };
32
33
  }
33
- exports.tenantFactory = tenantFactory;
package/testbed.js CHANGED
@@ -48,8 +48,8 @@ let PidgeyTestBedModule = PidgeyTestBedModule_1 = class PidgeyTestBedModule {
48
48
  };
49
49
  }
50
50
  };
51
- PidgeyTestBedModule = PidgeyTestBedModule_1 = __decorate([
51
+ exports.PidgeyTestBedModule = PidgeyTestBedModule;
52
+ exports.PidgeyTestBedModule = PidgeyTestBedModule = PidgeyTestBedModule_1 = __decorate([
52
53
  (0, common_1.Global)(),
53
54
  (0, common_1.Module)({})
54
55
  ], PidgeyTestBedModule);
55
- exports.PidgeyTestBedModule = PidgeyTestBedModule;
@@ -1,7 +0,0 @@
1
- import { CanActivate, ExecutionContext } from "@nestjs/common";
2
- import { PidgeyConfigService } from "../modules/config/services/pidgey-config.service";
3
- export declare class PidgeyWebhookGuard implements CanActivate {
4
- private config;
5
- constructor(config: PidgeyConfigService);
6
- canActivate(context: ExecutionContext): boolean;
7
- }
@@ -1,44 +0,0 @@
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.PidgeyWebhookGuard = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const crypto = require("crypto");
15
- const pidgey_config_service_1 = require("../modules/config/services/pidgey-config.service");
16
- let PidgeyWebhookGuard = class PidgeyWebhookGuard {
17
- constructor(config) {
18
- this.config = config;
19
- }
20
- canActivate(context) {
21
- const req = context.switchToHttp().getRequest();
22
- const signature = req.header("pidgey-webhook-signature");
23
- if (!signature) {
24
- throw new common_1.NotAcceptableException();
25
- }
26
- const timestamp = req.body.timestamp;
27
- if (!timestamp) {
28
- throw new common_1.NotAcceptableException();
29
- }
30
- const generatedSignature = crypto
31
- .createHmac("sha256", this.config.webhookSecret)
32
- .update(`${req.body.type}:${timestamp}`)
33
- .digest("hex");
34
- if (signature !== generatedSignature) {
35
- throw new common_1.NotAcceptableException();
36
- }
37
- return true;
38
- }
39
- };
40
- PidgeyWebhookGuard = __decorate([
41
- (0, common_1.Injectable)(),
42
- __metadata("design:paramtypes", [pidgey_config_service_1.PidgeyConfigService])
43
- ], PidgeyWebhookGuard);
44
- exports.PidgeyWebhookGuard = PidgeyWebhookGuard;
Binary file
Binary file
Binary file
Binary file