@venturialstd/capa 0.0.2 → 0.0.4

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 (95) hide show
  1. package/README.md +253 -253
  2. package/dist/capa.module.d.ts.map +1 -1
  3. package/dist/capa.module.js +11 -0
  4. package/dist/capa.module.js.map +1 -1
  5. package/dist/clients/capa.client.d.ts.map +1 -1
  6. package/dist/clients/capa.client.js +1 -2
  7. package/dist/clients/capa.client.js.map +1 -1
  8. package/dist/entities/capa-kyb-verification.entity.d.ts +19 -0
  9. package/dist/entities/capa-kyb-verification.entity.d.ts.map +1 -0
  10. package/dist/entities/capa-kyb-verification.entity.js +86 -0
  11. package/dist/entities/capa-kyb-verification.entity.js.map +1 -0
  12. package/dist/entities/capa-kyc-verification.entity.d.ts +145 -0
  13. package/dist/entities/capa-kyc-verification.entity.d.ts.map +1 -0
  14. package/dist/entities/capa-kyc-verification.entity.js +118 -0
  15. package/dist/entities/capa-kyc-verification.entity.js.map +1 -0
  16. package/dist/entities/capa-quote.entity.d.ts +37 -0
  17. package/dist/entities/capa-quote.entity.d.ts.map +1 -0
  18. package/dist/entities/capa-quote.entity.js +192 -0
  19. package/dist/entities/capa-quote.entity.js.map +1 -0
  20. package/dist/entities/capa-receiver.entity.d.ts +28 -0
  21. package/dist/entities/capa-receiver.entity.d.ts.map +1 -0
  22. package/dist/entities/capa-receiver.entity.js +181 -0
  23. package/dist/entities/capa-receiver.entity.js.map +1 -0
  24. package/dist/entities/capa-transaction.entity.d.ts +67 -0
  25. package/dist/entities/capa-transaction.entity.d.ts.map +1 -0
  26. package/dist/entities/capa-transaction.entity.js +221 -0
  27. package/dist/entities/capa-transaction.entity.js.map +1 -0
  28. package/dist/entities/capa-user.entity.d.ts +16 -0
  29. package/dist/entities/capa-user.entity.d.ts.map +1 -0
  30. package/dist/entities/capa-user.entity.js +109 -0
  31. package/dist/entities/capa-user.entity.js.map +1 -0
  32. package/dist/entities/capa-webhook-settings.entity.d.ts +9 -0
  33. package/dist/entities/capa-webhook-settings.entity.d.ts.map +1 -0
  34. package/dist/entities/capa-webhook-settings.entity.js +64 -0
  35. package/dist/entities/capa-webhook-settings.entity.js.map +1 -0
  36. package/dist/entities/index.d.ts +8 -0
  37. package/dist/entities/index.d.ts.map +1 -0
  38. package/dist/entities/index.js +24 -0
  39. package/dist/entities/index.js.map +1 -0
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/services/capa-base.service.d.ts +1 -1
  45. package/dist/services/capa-base.service.d.ts.map +1 -1
  46. package/dist/services/capa-base.service.js.map +1 -1
  47. package/dist/services/capa-cross-ramp.service.d.ts +10 -4
  48. package/dist/services/capa-cross-ramp.service.d.ts.map +1 -1
  49. package/dist/services/capa-cross-ramp.service.js +69 -7
  50. package/dist/services/capa-cross-ramp.service.js.map +1 -1
  51. package/dist/services/capa-kyb.service.d.ts +6 -3
  52. package/dist/services/capa-kyb.service.d.ts.map +1 -1
  53. package/dist/services/capa-kyb.service.js +24 -4
  54. package/dist/services/capa-kyb.service.js.map +1 -1
  55. package/dist/services/capa-kyc.service.d.ts +6 -3
  56. package/dist/services/capa-kyc.service.d.ts.map +1 -1
  57. package/dist/services/capa-kyc.service.js +30 -4
  58. package/dist/services/capa-kyc.service.js.map +1 -1
  59. package/dist/services/capa-off-ramp.service.d.ts +6 -3
  60. package/dist/services/capa-off-ramp.service.d.ts.map +1 -1
  61. package/dist/services/capa-off-ramp.service.js +53 -4
  62. package/dist/services/capa-off-ramp.service.js.map +1 -1
  63. package/dist/services/capa-on-ramp.service.d.ts +6 -3
  64. package/dist/services/capa-on-ramp.service.d.ts.map +1 -1
  65. package/dist/services/capa-on-ramp.service.js +47 -4
  66. package/dist/services/capa-on-ramp.service.js.map +1 -1
  67. package/dist/services/capa-quotes.service.d.ts +8 -4
  68. package/dist/services/capa-quotes.service.d.ts.map +1 -1
  69. package/dist/services/capa-quotes.service.js +38 -6
  70. package/dist/services/capa-quotes.service.js.map +1 -1
  71. package/dist/services/capa-receivers.service.d.ts +6 -3
  72. package/dist/services/capa-receivers.service.d.ts.map +1 -1
  73. package/dist/services/capa-receivers.service.js +64 -6
  74. package/dist/services/capa-receivers.service.js.map +1 -1
  75. package/dist/services/capa-transactions.service.d.ts +7 -3
  76. package/dist/services/capa-transactions.service.d.ts.map +1 -1
  77. package/dist/services/capa-transactions.service.js +62 -5
  78. package/dist/services/capa-transactions.service.js.map +1 -1
  79. package/dist/services/capa-users.service.d.ts +9 -4
  80. package/dist/services/capa-users.service.d.ts.map +1 -1
  81. package/dist/services/capa-users.service.js +73 -4
  82. package/dist/services/capa-users.service.js.map +1 -1
  83. package/dist/services/capa-webhook-settings.service.d.ts +6 -3
  84. package/dist/services/capa-webhook-settings.service.d.ts.map +1 -1
  85. package/dist/services/capa-webhook-settings.service.js +31 -4
  86. package/dist/services/capa-webhook-settings.service.js.map +1 -1
  87. package/dist/services/index.d.ts +6 -6
  88. package/dist/services/index.d.ts.map +1 -1
  89. package/dist/services/index.js +6 -6
  90. package/dist/services/index.js.map +1 -1
  91. package/dist/settings/capa.settings.d.ts.map +1 -1
  92. package/dist/settings/capa.settings.js.map +1 -1
  93. package/dist/types/capa-api.types.d.ts +70 -9
  94. package/dist/types/capa-api.types.d.ts.map +1 -1
  95. package/package.json +58 -46
@@ -8,28 +8,77 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CapaOffRampService = void 0;
13
16
  const axios_1 = require("@nestjs/axios");
14
17
  const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
15
19
  const core_1 = require("@venturialstd/core");
16
- const capa_base_constant_1 = require("../constants/capa-base.constant");
20
+ const typeorm_2 = require("typeorm");
17
21
  const capa_client_1 = require("../clients/capa.client");
22
+ const capa_base_constant_1 = require("../constants/capa-base.constant");
23
+ const capa_transaction_entity_1 = require("../entities/capa-transaction.entity");
18
24
  const capa_base_service_1 = require("./capa-base.service");
19
25
  let CapaOffRampService = class CapaOffRampService extends capa_base_service_1.CapaBaseService {
20
- constructor(httpService, capaClient, logger) {
26
+ capaTransactionRepo;
27
+ constructor(httpService, capaClient, logger, capaTransactionRepo) {
21
28
  super(httpService, capaClient, logger);
29
+ this.capaTransactionRepo = capaTransactionRepo;
22
30
  }
23
31
  async createOffRamp(config, request) {
24
32
  const response = await this.makeApiCall('/off-ramp', capa_base_constant_1.CapaBaseMethod.POST, request, config);
25
- return response.data;
33
+ const transactionData = response.data;
34
+ const userBankInformation = transactionData.userBankInformation ||
35
+ (transactionData.bankAccount
36
+ ? {
37
+ accountIdentifier: transactionData.bankAccount.accountIdentifier,
38
+ country: transactionData.bankAccount.country,
39
+ accountType: transactionData.bankAccount.accountType,
40
+ bankName: transactionData.bankAccount.bankName,
41
+ documentIdentifier: transactionData.bankAccount.documentIdentifier,
42
+ documentType: transactionData.bankAccount.documentType,
43
+ routingNumber: transactionData.bankAccount.routingNumber,
44
+ bic: transactionData.bankAccount.bic,
45
+ iban: transactionData.bankAccount.iban,
46
+ }
47
+ : undefined);
48
+ await this.capaTransactionRepo.upsert({
49
+ capaTransactionId: transactionData.id,
50
+ userId: transactionData.userId,
51
+ type: capa_transaction_entity_1.CapaTransactionType.OFF_RAMP,
52
+ status: transactionData.status,
53
+ fiatAmount: transactionData.fiatAmount,
54
+ fiatCurrency: transactionData.fiatCurrency,
55
+ cryptoAmount: transactionData.cryptoAmount,
56
+ blockchainSymbol: transactionData.blockchainSymbol,
57
+ tokenSymbol: transactionData.tokenSymbol,
58
+ userBankInformation,
59
+ destinationWalletAddress: transactionData.destinationWalletAddress,
60
+ quoteId: transactionData.quoteId,
61
+ premiumSpread: transactionData.premiumSpread,
62
+ rate: transactionData.exchangeRate,
63
+ completedAt: transactionData.completedAt
64
+ ? new Date(transactionData.completedAt)
65
+ : undefined,
66
+ metadata: {
67
+ bankAccountIsVerified: transactionData.bankAccount?.isVerified,
68
+ },
69
+ }, {
70
+ conflictPaths: ['capaTransactionId'],
71
+ });
72
+ return transactionData;
26
73
  }
27
74
  };
28
75
  exports.CapaOffRampService = CapaOffRampService;
29
76
  exports.CapaOffRampService = CapaOffRampService = __decorate([
30
77
  (0, common_1.Injectable)(),
78
+ __param(3, (0, typeorm_1.InjectRepository)(capa_transaction_entity_1.CapaTransaction)),
31
79
  __metadata("design:paramtypes", [axios_1.HttpService,
32
80
  capa_client_1.CapaClient,
33
- core_1.AppLogger])
81
+ core_1.AppLogger,
82
+ typeorm_2.Repository])
34
83
  ], CapaOffRampService);
35
84
  //# sourceMappingURL=capa-off-ramp.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-off-ramp.service.js","sourceRoot":"","sources":["../../src/services/capa-off-ramp.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAA+C;AAE/C,wEAAiE;AACjE,wDAAoD;AACpD,2DAAsD;AAS/C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mCAAe;IACrD,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB;QAEjB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAMD,KAAK,CAAC,aAAa,CACjB,MAAyB,EACzB,OAAiC;QAEjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,WAAW,EACX,mCAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAA;AAzBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAGI,mBAAW;QACZ,wBAAU;QACd,gBAAS;GAJR,kBAAkB,CAyB9B"}
1
+ {"version":3,"file":"capa-off-ramp.service.js","sourceRoot":"","sources":["../../src/services/capa-off-ramp.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAAmD;AACnD,6CAA+C;AAC/C,qCAAqC;AAErC,wDAAoD;AACpD,wEAAiE;AACjE,iFAI6C;AAO7C,2DAAsD;AAG/C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mCAAe;IAMlC;IALnB,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB,EAEA,mBAAsD;QAEvE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAFtB,wBAAmB,GAAnB,mBAAmB,CAAmC;IAGzE,CAAC;IAMD,KAAK,CAAC,aAAa,CACjB,MAAyB,EACzB,OAAiC;QAEjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,WAAW,EACX,mCAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;QAItC,MAAM,mBAAmB,GACvB,eAAe,CAAC,mBAAmB;YACnC,CAAC,eAAe,CAAC,WAAW;gBAC1B,CAAC,CAAC;oBACE,iBAAiB,EAAE,eAAe,CAAC,WAAW,CAAC,iBAAiB;oBAChE,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO;oBAC5C,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,WAAW;oBACpD,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,QAAQ;oBAC9C,kBAAkB,EAAE,eAAe,CAAC,WAAW,CAAC,kBAAkB;oBAClE,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,YAAY;oBACtD,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,aAAa;oBACxD,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG;oBACpC,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI;iBACvC;gBACH,CAAC,CAAC,SAAS,CAAC,CAAC;QAGjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CACnC;YACE,iBAAiB,EAAE,eAAe,CAAC,EAAE;YACrC,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,IAAI,EAAE,6CAAmB,CAAC,QAAQ;YAClC,MAAM,EAAE,eAAe,CAAC,MAA+B;YACvD,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;YAClD,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,mBAAmB;YACnB,wBAAwB,EAAE,eAAe,CAAC,wBAAwB;YAClE,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,aAAa,EAAE,eAAe,CAAC,aAAa;YAC5C,IAAI,EAAE,eAAe,CAAC,YAAY;YAClC,WAAW,EAAE,eAAe,CAAC,WAAW;gBACtC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;gBACvC,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE;gBACR,qBAAqB,EAAE,eAAe,CAAC,WAAW,EAAE,UAAU;aAC/D;SAEK,EACR;YACE,aAAa,EAAE,CAAC,mBAAmB,CAAC;SACrC,CACF,CAAC;QAEF,OAAO,eAAe,CAAC;IACzB,CAAC;CACF,CAAA;AA7EY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,0BAAgB,EAAC,yCAAqB,CAAC,CAAA;qCAH3B,mBAAW;QACZ,wBAAU;QACd,gBAAS;QAEqB,oBAAU;GANvC,kBAAkB,CA6E9B"}
@@ -1,11 +1,14 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
2
  import { AppLogger } from '@venturialstd/core';
3
+ import { Repository } from 'typeorm';
3
4
  import { CapaClient } from '../clients/capa.client';
4
- import { CapaBaseService } from './capa-base.service';
5
- import { CapaCreateOnRampRequest, CapaOnRampTransaction } from '../types/capa-api.types';
5
+ import { CapaTransaction as CapaTransactionEntity } from '../entities/capa-transaction.entity';
6
6
  import { CapaConfig } from '../types/capa.config.type';
7
+ import { CapaCreateOnRampRequest, CapaOnRampTransaction } from '../types/capa-api.types';
8
+ import { CapaBaseService } from './capa-base.service';
7
9
  export declare class CapaOnRampService extends CapaBaseService {
8
- constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger);
10
+ private readonly capaTransactionRepo;
11
+ constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger, capaTransactionRepo: Repository<CapaTransactionEntity>);
9
12
  createOnRamp(config: CapaConfig | null, request: CapaCreateOnRampRequest): Promise<CapaOnRampTransaction>;
10
13
  }
11
14
  //# sourceMappingURL=capa-on-ramp.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-on-ramp.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-on-ramp.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,qBACa,iBAAkB,SAAQ,eAAe;gBAElD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IASb,YAAY,CAChB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;CASlC"}
1
+ {"version":3,"file":"capa-on-ramp.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-on-ramp.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,eAAe,IAAI,qBAAqB,EAGzC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBACa,iBAAkB,SAAQ,eAAe;IAMlD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAJpC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,EAEA,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,CAAC;IASnE,YAAY,CAChB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;CAkDlC"}
@@ -8,28 +8,71 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CapaOnRampService = void 0;
13
16
  const axios_1 = require("@nestjs/axios");
14
17
  const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
15
19
  const core_1 = require("@venturialstd/core");
16
- const capa_base_constant_1 = require("../constants/capa-base.constant");
20
+ const typeorm_2 = require("typeorm");
17
21
  const capa_client_1 = require("../clients/capa.client");
22
+ const capa_base_constant_1 = require("../constants/capa-base.constant");
23
+ const capa_transaction_entity_1 = require("../entities/capa-transaction.entity");
18
24
  const capa_base_service_1 = require("./capa-base.service");
19
25
  let CapaOnRampService = class CapaOnRampService extends capa_base_service_1.CapaBaseService {
20
- constructor(httpService, capaClient, logger) {
26
+ capaTransactionRepo;
27
+ constructor(httpService, capaClient, logger, capaTransactionRepo) {
21
28
  super(httpService, capaClient, logger);
29
+ this.capaTransactionRepo = capaTransactionRepo;
22
30
  }
23
31
  async createOnRamp(config, request) {
24
32
  const response = await this.makeApiCall('/on-ramp', capa_base_constant_1.CapaBaseMethod.POST, request, config);
25
- return response.data;
33
+ const transactionData = response.data;
34
+ const userBankInformation = transactionData.bankAccount
35
+ ? {
36
+ accountIdentifier: transactionData.bankAccount.accountIdentifier,
37
+ country: transactionData.bankAccount.country,
38
+ accountType: transactionData.bankAccount.accountType,
39
+ bankName: transactionData.bankAccount.bankName,
40
+ routingNumber: transactionData.bankAccount.routingNumber,
41
+ bic: transactionData.bankAccount.bic,
42
+ iban: transactionData.bankAccount.iban,
43
+ }
44
+ : undefined;
45
+ await this.capaTransactionRepo.upsert({
46
+ capaTransactionId: transactionData.id,
47
+ userId: transactionData.userId,
48
+ type: capa_transaction_entity_1.CapaTransactionType.ON_RAMP,
49
+ status: transactionData.status,
50
+ fiatAmount: transactionData.fiatAmount,
51
+ fiatCurrency: transactionData.fiatCurrency,
52
+ cryptoAmount: transactionData.cryptoAmount,
53
+ blockchainSymbol: transactionData.blockchainSymbol,
54
+ tokenSymbol: transactionData.tokenSymbol,
55
+ destinationWalletAddress: transactionData.destinationWalletAddress,
56
+ quoteId: transactionData.quoteId,
57
+ premiumSpread: transactionData.premiumSpread,
58
+ userBankInformation,
59
+ rate: transactionData.exchangeRate,
60
+ completedAt: transactionData.completedAt
61
+ ? new Date(transactionData.completedAt)
62
+ : undefined,
63
+ }, {
64
+ conflictPaths: ['capaTransactionId'],
65
+ });
66
+ return transactionData;
26
67
  }
27
68
  };
28
69
  exports.CapaOnRampService = CapaOnRampService;
29
70
  exports.CapaOnRampService = CapaOnRampService = __decorate([
30
71
  (0, common_1.Injectable)(),
72
+ __param(3, (0, typeorm_1.InjectRepository)(capa_transaction_entity_1.CapaTransaction)),
31
73
  __metadata("design:paramtypes", [axios_1.HttpService,
32
74
  capa_client_1.CapaClient,
33
- core_1.AppLogger])
75
+ core_1.AppLogger,
76
+ typeorm_2.Repository])
34
77
  ], CapaOnRampService);
35
78
  //# sourceMappingURL=capa-on-ramp.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-on-ramp.service.js","sourceRoot":"","sources":["../../src/services/capa-on-ramp.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAA+C;AAE/C,wEAAiE;AACjE,wDAAoD;AACpD,2DAAsD;AAS/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mCAAe;IACpD,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB;QAEjB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,MAAyB,EACzB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,UAAU,EACV,mCAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAA;AAzBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGI,mBAAW;QACZ,wBAAU;QACd,gBAAS;GAJR,iBAAiB,CAyB7B"}
1
+ {"version":3,"file":"capa-on-ramp.service.js","sourceRoot":"","sources":["../../src/services/capa-on-ramp.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAAmD;AACnD,6CAA+C;AAC/C,qCAAqC;AAErC,wDAAoD;AACpD,wEAAiE;AACjE,iFAI6C;AAO7C,2DAAsD;AAG/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mCAAe;IAMjC;IALnB,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB,EAEA,mBAAsD;QAEvE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAFtB,wBAAmB,GAAnB,mBAAmB,CAAmC;IAGzE,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,MAAyB,EACzB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,UAAU,EACV,mCAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;QAGtC,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW;YACrD,CAAC,CAAC;gBACE,iBAAiB,EAAE,eAAe,CAAC,WAAW,CAAC,iBAAiB;gBAChE,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO;gBAC5C,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,WAAW;gBACpD,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,QAAQ;gBAC9C,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,aAAa;gBACxD,GAAG,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG;gBACpC,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI;aACvC;YACH,CAAC,CAAC,SAAS,CAAC;QAGd,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CACnC;YACE,iBAAiB,EAAE,eAAe,CAAC,EAAE;YACrC,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,IAAI,EAAE,6CAAmB,CAAC,OAAO;YACjC,MAAM,EAAE,eAAe,CAAC,MAA+B;YACvD,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;YAClD,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,wBAAwB,EAAE,eAAe,CAAC,wBAAwB;YAClE,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,aAAa,EAAE,eAAe,CAAC,aAAa;YAC5C,mBAAmB;YACnB,IAAI,EAAE,eAAe,CAAC,YAAY;YAClC,WAAW,EAAE,eAAe,CAAC,WAAW;gBACtC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;gBACvC,CAAC,CAAC,SAAS;SACd,EACD;YACE,aAAa,EAAE,CAAC,mBAAmB,CAAC;SACrC,CACF,CAAC;QAEF,OAAO,eAAe,CAAC;IACzB,CAAC;CACF,CAAA;AApEY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,0BAAgB,EAAC,yCAAqB,CAAC,CAAA;qCAH3B,mBAAW;QACZ,wBAAU;QACd,gBAAS;QAEqB,oBAAU;GANvC,iBAAiB,CAoE7B"}
@@ -1,12 +1,16 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
2
  import { AppLogger } from '@venturialstd/core';
3
+ import { Repository } from 'typeorm';
3
4
  import { CapaClient } from '../clients/capa.client';
4
- import { CapaBaseService } from './capa-base.service';
5
- import { CapaCreateQuoteRequest, CapaGetQuoteQuery, CapaQuote } from '../types/capa-api.types';
5
+ import { CapaQuote as CapaQuoteEntity } from '../entities/capa-quote.entity';
6
6
  import { CapaConfig } from '../types/capa.config.type';
7
+ import { CapaCreateQuoteRequest, CapaGetQuoteQuery, CapaQuote } from '../types/capa-api.types';
8
+ import { CapaBaseService } from './capa-base.service';
7
9
  export declare class CapaQuotesService extends CapaBaseService {
8
- constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger);
9
- getQuote(query: CapaGetQuoteQuery, config?: CapaConfig | null): Promise<CapaQuote>;
10
+ private readonly capaQuoteRepo;
11
+ constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger, capaQuoteRepo: Repository<CapaQuoteEntity>);
12
+ getQuote(config: CapaConfig | null, query: CapaGetQuoteQuery): Promise<CapaQuote>;
10
13
  createQuote(config: CapaConfig | null, request: CapaCreateQuoteRequest): Promise<CapaQuote>;
14
+ private saveQuote;
11
15
  }
12
16
  //# sourceMappingURL=capa-quotes.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-quotes.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-quotes.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,qBACa,iBAAkB,SAAQ,eAAe;gBAElD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IASb,QAAQ,CACZ,KAAK,EAAE,iBAAiB,EACxB,MAAM,GAAE,UAAU,GAAG,IAAW,GAC/B,OAAO,CAAC,SAAS,CAAC;IAqBf,WAAW,CACf,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,SAAS,CAAC;CAStB"}
1
+ {"version":3,"file":"capa-quotes.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-quotes.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,SAAS,IAAI,eAAe,EAG7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBACa,iBAAkB,SAAQ,eAAe;IAMlD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJ9B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,EAEA,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC;IASvD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BjF,WAAW,CACf,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,SAAS,CAAC;YAkBP,SAAS;CAuBxB"}
@@ -8,37 +8,69 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CapaQuotesService = void 0;
13
16
  const axios_1 = require("@nestjs/axios");
14
17
  const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
15
19
  const core_1 = require("@venturialstd/core");
16
- const capa_base_constant_1 = require("../constants/capa-base.constant");
20
+ const typeorm_2 = require("typeorm");
17
21
  const capa_client_1 = require("../clients/capa.client");
22
+ const capa_base_constant_1 = require("../constants/capa-base.constant");
23
+ const capa_quote_entity_1 = require("../entities/capa-quote.entity");
18
24
  const capa_base_service_1 = require("./capa-base.service");
19
25
  let CapaQuotesService = class CapaQuotesService extends capa_base_service_1.CapaBaseService {
20
- constructor(httpService, capaClient, logger) {
26
+ capaQuoteRepo;
27
+ constructor(httpService, capaClient, logger, capaQuoteRepo) {
21
28
  super(httpService, capaClient, logger);
29
+ this.capaQuoteRepo = capaQuoteRepo;
22
30
  }
23
- async getQuote(query, config = null) {
31
+ async getQuote(config, query) {
24
32
  const queryString = '?' +
25
33
  Object.entries(query)
26
34
  .filter(([_, value]) => value !== undefined)
27
35
  .map(([key, value]) => `${key}=${encodeURIComponent(String(value))}`)
28
36
  .join('&');
29
37
  const response = await this.makeApiCall(`/quotes${queryString}`, capa_base_constant_1.CapaBaseMethod.GET, undefined, config);
30
- return response.data;
38
+ const quoteData = response.data;
39
+ await this.saveQuote(quoteData);
40
+ return quoteData;
31
41
  }
32
42
  async createQuote(config, request) {
33
43
  const response = await this.makeApiCall('/quotes', capa_base_constant_1.CapaBaseMethod.POST, request, config);
34
- return response.data;
44
+ const quoteData = response.data;
45
+ await this.saveQuote(quoteData);
46
+ return quoteData;
47
+ }
48
+ async saveQuote(quoteData) {
49
+ const quoteId = quoteData.quoteId || `quote-${Date.now()}-${Math.random().toString(36).substring(7)}`;
50
+ await this.capaQuoteRepo.upsert({
51
+ quoteId,
52
+ transactionType: quoteData.transactionType,
53
+ fiatAmount: quoteData.fiatAmount,
54
+ fiatCurrency: quoteData.fiatCurrency,
55
+ blockchainSymbol: quoteData.blockchainSymbol,
56
+ tokenSymbol: quoteData.tokenSymbol,
57
+ cryptoAmount: quoteData.cryptoAmount,
58
+ rate: quoteData.rate,
59
+ premiumSpread: quoteData.premiumSpread,
60
+ flow: quoteData.flow,
61
+ expiresAt: quoteData.expiresAt ? new Date(quoteData.expiresAt) : undefined,
62
+ }, {
63
+ conflictPaths: ['quoteId'],
64
+ });
35
65
  }
36
66
  };
37
67
  exports.CapaQuotesService = CapaQuotesService;
38
68
  exports.CapaQuotesService = CapaQuotesService = __decorate([
39
69
  (0, common_1.Injectable)(),
70
+ __param(3, (0, typeorm_1.InjectRepository)(capa_quote_entity_1.CapaQuote)),
40
71
  __metadata("design:paramtypes", [axios_1.HttpService,
41
72
  capa_client_1.CapaClient,
42
- core_1.AppLogger])
73
+ core_1.AppLogger,
74
+ typeorm_2.Repository])
43
75
  ], CapaQuotesService);
44
76
  //# sourceMappingURL=capa-quotes.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-quotes.service.js","sourceRoot":"","sources":["../../src/services/capa-quotes.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAA+C;AAE/C,wEAAiE;AACjE,wDAAoD;AACpD,2DAAsD;AAU/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mCAAe;IACpD,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB;QAEjB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAMD,KAAK,CAAC,QAAQ,CACZ,KAAwB,EACxB,SAA4B,IAAI;QAEhC,MAAM,WAAW,GACf,GAAG;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;iBACpE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,UAAU,WAAW,EAAE,EACvB,mCAAc,CAAC,GAAG,EAClB,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,WAAW,CACf,MAAyB,EACzB,OAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,SAAS,EACT,mCAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAA;AAjDY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGI,mBAAW;QACZ,wBAAU;QACd,gBAAS;GAJR,iBAAiB,CAiD7B"}
1
+ {"version":3,"file":"capa-quotes.service.js","sourceRoot":"","sources":["../../src/services/capa-quotes.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
2
  import { AppLogger } from '@venturialstd/core';
3
+ import { Repository } from 'typeorm';
3
4
  import { CapaClient } from '../clients/capa.client';
4
- import { CapaBaseService } from './capa-base.service';
5
- import { CapaCreateReceiverRequest, CapaDeleteReceiverRequest, CapaDeleteReceiverResponse, CapaListReceiversQuery, CapaReceiver } from '../types/capa-api.types';
5
+ import { CapaReceiver as CapaReceiverEntity } from '../entities/capa-receiver.entity';
6
6
  import { CapaConfig } from '../types/capa.config.type';
7
+ import { CapaCreateReceiverRequest, CapaDeleteReceiverRequest, CapaDeleteReceiverResponse, CapaListReceiversQuery, CapaReceiver } from '../types/capa-api.types';
8
+ import { CapaBaseService } from './capa-base.service';
7
9
  export declare class CapaReceiversService extends CapaBaseService {
8
- constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger);
10
+ private readonly capaReceiverRepo;
11
+ constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger, capaReceiverRepo: Repository<CapaReceiverEntity>);
9
12
  createReceiver(config: CapaConfig | null, request: CapaCreateReceiverRequest): Promise<CapaReceiver>;
10
13
  listReceivers(config: CapaConfig | null, query?: CapaListReceiversQuery): Promise<CapaReceiver[]>;
11
14
  deleteReceiver(config: CapaConfig | null, id: string, request: CapaDeleteReceiverRequest): Promise<CapaDeleteReceiverResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"capa-receivers.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-receivers.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,qBACa,oBAAqB,SAAQ,eAAe;gBAErD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IASb,cAAc,CAClB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IAclB,aAAa,CACjB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IAsBpB,cAAc,CAClB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;CASvC"}
1
+ {"version":3,"file":"capa-receivers.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-receivers.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,YAAY,IAAI,kBAAkB,EAEnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBACa,oBAAqB,SAAQ,eAAe;IAMrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAJjC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,EAEA,gBAAgB,EAAE,UAAU,CAAC,kBAAkB,CAAC;IAS7D,cAAc,CAClB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IA0ClB,aAAa,CACjB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IAoDpB,cAAc,CAClB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;CAiBvC"}
@@ -8,21 +8,51 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CapaReceiversService = void 0;
13
16
  const axios_1 = require("@nestjs/axios");
14
17
  const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
15
19
  const core_1 = require("@venturialstd/core");
20
+ const typeorm_2 = require("typeorm");
16
21
  const capa_client_1 = require("../clients/capa.client");
17
- const capa_base_service_1 = require("./capa-base.service");
18
22
  const constants_1 = require("../constants");
23
+ const capa_receiver_entity_1 = require("../entities/capa-receiver.entity");
24
+ const capa_base_service_1 = require("./capa-base.service");
19
25
  let CapaReceiversService = class CapaReceiversService extends capa_base_service_1.CapaBaseService {
20
- constructor(httpService, capaClient, logger) {
26
+ capaReceiverRepo;
27
+ constructor(httpService, capaClient, logger, capaReceiverRepo) {
21
28
  super(httpService, capaClient, logger);
29
+ this.capaReceiverRepo = capaReceiverRepo;
22
30
  }
23
31
  async createReceiver(config, request) {
24
32
  const response = await this.makeApiCall('/receivers', constants_1.CapaBaseMethod.POST, request, config);
25
- return response.data;
33
+ const receiverData = response.data;
34
+ await this.capaReceiverRepo.upsert({
35
+ capaReceiverId: receiverData.id,
36
+ userId: receiverData.userId,
37
+ receiverType: receiverData.receiverType,
38
+ email: receiverData.email,
39
+ taxId: receiverData.taxId,
40
+ firstName: receiverData.firstName,
41
+ lastName: receiverData.lastName,
42
+ countryOfBirth: receiverData.countryOfBirth,
43
+ dateOfBirth: receiverData.dateOfBirth,
44
+ businessName: receiverData.businessName,
45
+ countryOfConstitution: receiverData.countryOfConstitution,
46
+ dateOfConstitution: receiverData.dateOfConstitution,
47
+ phoneNumber: receiverData.phoneNumber,
48
+ isPep: receiverData.isPep,
49
+ hasBeneficialOwner: receiverData.hasBeneficialOwner,
50
+ hasResourceProvider: receiverData.hasResourceProvider,
51
+ disabled: receiverData.disabled,
52
+ }, {
53
+ conflictPaths: ['capaReceiverId'],
54
+ });
55
+ return receiverData;
26
56
  }
27
57
  async listReceivers(config, query) {
28
58
  const queryString = query
@@ -33,18 +63,46 @@ let CapaReceiversService = class CapaReceiversService extends capa_base_service_
33
63
  .join('&')
34
64
  : '';
35
65
  const response = await this.makeApiCall(`/receivers${queryString}`, constants_1.CapaBaseMethod.GET, undefined, config);
36
- return response.data;
66
+ const receiversData = response.data;
67
+ if (receiversData.length > 0) {
68
+ await this.capaReceiverRepo.upsert(receiversData.map((receiver) => ({
69
+ capaReceiverId: receiver.id,
70
+ userId: receiver.userId,
71
+ receiverType: receiver.receiverType,
72
+ email: receiver.email,
73
+ taxId: receiver.taxId,
74
+ firstName: receiver.firstName,
75
+ lastName: receiver.lastName,
76
+ countryOfBirth: receiver.countryOfBirth,
77
+ dateOfBirth: receiver.dateOfBirth,
78
+ businessName: receiver.businessName,
79
+ countryOfConstitution: receiver.countryOfConstitution,
80
+ dateOfConstitution: receiver.dateOfConstitution,
81
+ phoneNumber: receiver.phoneNumber,
82
+ isPep: receiver.isPep,
83
+ hasBeneficialOwner: receiver.hasBeneficialOwner,
84
+ hasResourceProvider: receiver.hasResourceProvider,
85
+ disabled: receiver.disabled,
86
+ })), {
87
+ conflictPaths: ['capaReceiverId'],
88
+ });
89
+ }
90
+ return receiversData;
37
91
  }
38
92
  async deleteReceiver(config, id, request) {
39
93
  const response = await this.makeApiCall(`/receivers/${id}`, constants_1.CapaBaseMethod.DELETE, request, config);
40
- return response.data;
94
+ const deleteData = response.data;
95
+ await this.capaReceiverRepo.update({ capaReceiverId: deleteData.id }, { disabled: deleteData.disabled });
96
+ return deleteData;
41
97
  }
42
98
  };
43
99
  exports.CapaReceiversService = CapaReceiversService;
44
100
  exports.CapaReceiversService = CapaReceiversService = __decorate([
45
101
  (0, common_1.Injectable)(),
102
+ __param(3, (0, typeorm_1.InjectRepository)(capa_receiver_entity_1.CapaReceiver)),
46
103
  __metadata("design:paramtypes", [axios_1.HttpService,
47
104
  capa_client_1.CapaClient,
48
- core_1.AppLogger])
105
+ core_1.AppLogger,
106
+ typeorm_2.Repository])
49
107
  ], CapaReceiversService);
50
108
  //# sourceMappingURL=capa-receivers.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-receivers.service.js","sourceRoot":"","sources":["../../src/services/capa-receivers.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAA+C;AAE/C,wDAAoD;AACpD,2DAAsD;AAUtD,4CAA8C;AAGvC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mCAAe;IACvD,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB;QAEjB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAMD,KAAK,CAAC,cAAc,CAClB,MAAyB,EACzB,OAAkC;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,YAAY,EACZ,0BAAc,CAAC,IAAI,EACnB,OAAO,EACP,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,aAAa,CACjB,MAAyB,EACzB,KAA8B;QAE9B,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC,GAAG;gBACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;qBAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;qBACpE,IAAI,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,aAAa,WAAW,EAAE,EAC1B,0BAAc,CAAC,GAAG,EAClB,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,cAAc,CAClB,MAAyB,EACzB,EAAU,EACV,OAAkC;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,cAAc,EAAE,EAAE,EAClB,0BAAc,CAAC,MAAM,EACrB,OAAO,EACP,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAA;AApEY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAGI,mBAAW;QACZ,wBAAU;QACd,gBAAS;GAJR,oBAAoB,CAoEhC"}
1
+ {"version":3,"file":"capa-receivers.service.js","sourceRoot":"","sources":["../../src/services/capa-receivers.service.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
2
  import { AppLogger } from '@venturialstd/core';
3
+ import { Repository } from 'typeorm';
3
4
  import { CapaClient } from '../clients/capa.client';
4
- import { CapaBaseService } from './capa-base.service';
5
- import { CapaCancelTransactionResponse, CapaListTransactionsQuery, CapaListTransactionsResponse, CapaMockTestingGuide } from '../types/capa-api.types';
5
+ import { CapaTransaction as CapaTransactionEntity } from '../entities/capa-transaction.entity';
6
6
  import { CapaConfig } from '../types/capa.config.type';
7
+ import { CapaCancelTransactionResponse, CapaListTransactionsQuery, CapaListTransactionsResponse, CapaMockTestingGuide } from '../types/capa-api.types';
8
+ import { CapaBaseService } from './capa-base.service';
7
9
  export declare class CapaTransactionsService extends CapaBaseService {
8
- constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger);
10
+ private readonly capaTransactionRepo;
11
+ constructor(httpService: HttpService, capaClient: CapaClient, logger: AppLogger, capaTransactionRepo: Repository<CapaTransactionEntity>);
9
12
  listTransactions(config: CapaConfig | null, query?: CapaListTransactionsQuery): Promise<CapaListTransactionsResponse>;
10
13
  cancelTransaction(config: CapaConfig | null, transactionId: string): Promise<CapaCancelTransactionResponse>;
11
14
  getMockTestingGuide(config: CapaConfig | null): Promise<CapaMockTestingGuide>;
15
+ private mapTransactionToEntity;
12
16
  }
13
17
  //# sourceMappingURL=capa-transactions.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-transactions.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-transactions.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAEL,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,qBACa,uBAAwB,SAAQ,eAAe;gBAExD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IASb,gBAAgB,CACpB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,4BAA4B,CAAC;IAsBlC,iBAAiB,CACrB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,6BAA6B,CAAC;IAcnC,mBAAmB,CACvB,MAAM,EAAE,UAAU,GAAG,IAAI,GACxB,OAAO,CAAC,oBAAoB,CAAC;CASjC"}
1
+ {"version":3,"file":"capa-transactions.service.d.ts","sourceRoot":"","sources":["../../src/services/capa-transactions.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,eAAe,IAAI,qBAAqB,EAGzC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAEL,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBACa,uBAAwB,SAAQ,eAAe;IAMxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAJpC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,EAEA,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,CAAC;IASnE,gBAAgB,CACpB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,4BAA4B,CAAC;IAmClC,iBAAiB,CACrB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,6BAA6B,CAAC;IAwBnC,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAanF,OAAO,CAAC,sBAAsB;CAyC/B"}
@@ -8,17 +8,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CapaTransactionsService = void 0;
13
16
  const axios_1 = require("@nestjs/axios");
14
17
  const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
15
19
  const core_1 = require("@venturialstd/core");
16
- const capa_base_constant_1 = require("../constants/capa-base.constant");
20
+ const typeorm_2 = require("typeorm");
17
21
  const capa_client_1 = require("../clients/capa.client");
22
+ const capa_base_constant_1 = require("../constants/capa-base.constant");
23
+ const capa_transaction_entity_1 = require("../entities/capa-transaction.entity");
18
24
  const capa_base_service_1 = require("./capa-base.service");
19
25
  let CapaTransactionsService = class CapaTransactionsService extends capa_base_service_1.CapaBaseService {
20
- constructor(httpService, capaClient, logger) {
26
+ capaTransactionRepo;
27
+ constructor(httpService, capaClient, logger, capaTransactionRepo) {
21
28
  super(httpService, capaClient, logger);
29
+ this.capaTransactionRepo = capaTransactionRepo;
22
30
  }
23
31
  async listTransactions(config, query) {
24
32
  const queryString = query
@@ -29,22 +37,71 @@ let CapaTransactionsService = class CapaTransactionsService extends capa_base_se
29
37
  .join('&')
30
38
  : '';
31
39
  const response = await this.makeApiCall(`/transactions${queryString}`, capa_base_constant_1.CapaBaseMethod.GET, undefined, config);
32
- return response.data;
40
+ const transactionsData = response.data;
41
+ if (transactionsData.transactions && transactionsData.transactions.length > 0) {
42
+ await this.capaTransactionRepo.upsert(transactionsData.transactions.map((tx) => this.mapTransactionToEntity(tx)), {
43
+ conflictPaths: ['capaTransactionId'],
44
+ });
45
+ }
46
+ return transactionsData;
33
47
  }
34
48
  async cancelTransaction(config, transactionId) {
35
49
  const response = await this.makeApiCall(`/transactions/${transactionId}/cancel`, capa_base_constant_1.CapaBaseMethod.PUT, undefined, config);
36
- return response.data;
50
+ const cancelData = response.data;
51
+ await this.capaTransactionRepo.update({ capaTransactionId: cancelData.id }, {
52
+ status: cancelData.status,
53
+ });
54
+ return cancelData;
37
55
  }
38
56
  async getMockTestingGuide(config) {
39
57
  const response = await this.makeApiCall('/transactions/mock-testing-guide', capa_base_constant_1.CapaBaseMethod.GET, undefined, config);
40
58
  return response.data;
41
59
  }
60
+ mapTransactionToEntity(tx) {
61
+ const userBankInformation = tx.userBankInformation ||
62
+ (tx.bankAccount
63
+ ? {
64
+ accountIdentifier: tx.bankAccount.accountIdentifier,
65
+ country: tx.bankAccount.country,
66
+ accountType: tx.bankAccount.accountType,
67
+ bankName: tx.bankAccount.bankName,
68
+ routingNumber: tx.bankAccount.routingNumber,
69
+ bic: tx.bankAccount.bic,
70
+ iban: tx.bankAccount.iban,
71
+ }
72
+ : undefined);
73
+ return {
74
+ capaTransactionId: tx.id,
75
+ userId: tx.userId,
76
+ type: tx.type,
77
+ status: tx.status,
78
+ fiatAmount: tx.fiatAmount,
79
+ fiatCurrency: tx.fiatCurrency,
80
+ cryptoAmount: tx.cryptoAmount,
81
+ blockchainSymbol: tx.blockchainSymbol,
82
+ tokenSymbol: tx.tokenSymbol,
83
+ destinationWalletAddress: tx.destinationWalletAddress,
84
+ userBankInformation,
85
+ quoteId: tx.quoteId,
86
+ premiumSpread: tx.premiumSpread,
87
+ errorMessage: tx.errorMessage,
88
+ rate: tx.exchangeRate,
89
+ completedAt: tx.completedAt ? new Date(tx.completedAt) : undefined,
90
+ metadata: {
91
+ partnerRevenue: tx.partnerRevenue,
92
+ receiverId: tx.receiverId,
93
+ bankAccountIsVerified: tx.bankAccount?.isVerified,
94
+ },
95
+ };
96
+ }
42
97
  };
43
98
  exports.CapaTransactionsService = CapaTransactionsService;
44
99
  exports.CapaTransactionsService = CapaTransactionsService = __decorate([
45
100
  (0, common_1.Injectable)(),
101
+ __param(3, (0, typeorm_1.InjectRepository)(capa_transaction_entity_1.CapaTransaction)),
46
102
  __metadata("design:paramtypes", [axios_1.HttpService,
47
103
  capa_client_1.CapaClient,
48
- core_1.AppLogger])
104
+ core_1.AppLogger,
105
+ typeorm_2.Repository])
49
106
  ], CapaTransactionsService);
50
107
  //# sourceMappingURL=capa-transactions.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capa-transactions.service.js","sourceRoot":"","sources":["../../src/services/capa-transactions.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAA+C;AAE/C,wEAAiE;AACjE,wDAAoD;AACpD,2DAAsD;AAW/C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,mCAAe;IAC1D,YACE,WAAwB,EACxB,UAAsB,EACtB,MAAiB;QAEjB,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAMD,KAAK,CAAC,gBAAgB,CACpB,MAAyB,EACzB,KAAiC;QAEjC,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC,GAAG;gBACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;qBAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;qBACpE,IAAI,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,gBAAgB,WAAW,EAAE,EAC7B,mCAAc,CAAC,GAAG,EAClB,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,iBAAiB,CACrB,MAAyB,EACzB,aAAqB;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,iBAAiB,aAAa,SAAS,EACvC,mCAAc,CAAC,GAAG,EAClB,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,mBAAmB,CACvB,MAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,kCAAkC,EAClC,mCAAc,CAAC,GAAG,EAClB,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAA;AAlEY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAGI,mBAAW;QACZ,wBAAU;QACd,gBAAS;GAJR,uBAAuB,CAkEnC"}
1
+ {"version":3,"file":"capa-transactions.service.js","sourceRoot":"","sources":["../../src/services/capa-transactions.service.ts"],"names":[],"mappings":"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"}