@ductape/sdk 0.0.3-beta8 → 0.0.4-v2

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 (115) hide show
  1. package/dist/api/services/appApi.service.d.ts +3 -1
  2. package/dist/api/services/appApi.service.js +41 -2
  3. package/dist/api/services/appApi.service.js.map +1 -1
  4. package/dist/api/services/processorApi.service.d.ts +5 -1
  5. package/dist/api/services/processorApi.service.js +18 -0
  6. package/dist/api/services/processorApi.service.js.map +1 -1
  7. package/dist/api/services/productsApi.service.d.ts +2 -1
  8. package/dist/api/services/productsApi.service.js +2 -2
  9. package/dist/api/services/productsApi.service.js.map +1 -1
  10. package/dist/api/services/userApi.service.d.ts +2 -1
  11. package/dist/api/services/userApi.service.js +1 -1
  12. package/dist/api/services/userApi.service.js.map +1 -1
  13. package/dist/api/services/webhooksApi.service.d.ts +4 -1
  14. package/dist/api/services/webhooksApi.service.js +6 -3
  15. package/dist/api/services/webhooksApi.service.js.map +1 -1
  16. package/dist/api/services/workspaceApi.service.d.ts +2 -1
  17. package/dist/api/services/workspaceApi.service.js +1 -1
  18. package/dist/api/services/workspaceApi.service.js.map +1 -1
  19. package/dist/api/urls.d.ts +2 -0
  20. package/dist/api/urls.js +3 -1
  21. package/dist/api/urls.js.map +1 -1
  22. package/dist/api/utils/cache.utils.d.ts +3 -0
  23. package/dist/api/utils/cache.utils.js +18 -0
  24. package/dist/api/utils/cache.utils.js.map +1 -0
  25. package/dist/apps/services/app.service.d.ts +3 -3
  26. package/dist/apps/services/app.service.js +153 -75
  27. package/dist/apps/services/app.service.js.map +1 -1
  28. package/dist/apps/utils/objects.utils.d.ts +1 -1
  29. package/dist/apps/utils/objects.utils.js +5 -3
  30. package/dist/apps/utils/objects.utils.js.map +1 -1
  31. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +1 -1
  32. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  33. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js +1 -0
  34. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js.map +1 -1
  35. package/dist/apps/validators/joi-validators/update.appAction.validator.d.ts +2 -2
  36. package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -11
  37. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
  38. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js +2 -0
  39. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js.map +1 -1
  40. package/dist/clients/webhooks.client.d.ts +2 -1
  41. package/dist/clients/webhooks.client.js +2 -2
  42. package/dist/clients/webhooks.client.js.map +1 -1
  43. package/dist/imports/imports.service.d.ts +2 -3
  44. package/dist/imports/imports.service.js +4 -45
  45. package/dist/imports/imports.service.js.map +1 -1
  46. package/dist/imports/imports.types.d.ts +238 -0
  47. package/dist/imports/repos/openApi.repo.d.ts +5 -11
  48. package/dist/imports/repos/openApi.repo.js +77 -27
  49. package/dist/imports/repos/openApi.repo.js.map +1 -1
  50. package/dist/imports/repos/postmanV21.repo.js +1 -1
  51. package/dist/imports/repos/postmanV21.repo.js.map +1 -1
  52. package/dist/index.d.ts +24 -6
  53. package/dist/index.js +59 -4
  54. package/dist/index.js.map +1 -1
  55. package/dist/inputs/validators/inputs.validator.parse.js +1 -0
  56. package/dist/inputs/validators/inputs.validator.parse.js.map +1 -1
  57. package/dist/logs/logs.service.d.ts +1 -1
  58. package/dist/logs/logs.types.d.ts +3 -0
  59. package/dist/logs/logs.types.js.map +1 -1
  60. package/dist/processor/services/fallback.service.d.ts +0 -1
  61. package/dist/processor/services/fallback.service.js +0 -16
  62. package/dist/processor/services/fallback.service.js.map +1 -1
  63. package/dist/processor/services/processor.service.d.ts +53 -14
  64. package/dist/processor/services/processor.service.js +429 -152
  65. package/dist/processor/services/processor.service.js.map +1 -1
  66. package/dist/processor/services/quota.service.d.ts +6 -13
  67. package/dist/processor/services/quota.service.js +12 -3
  68. package/dist/processor/services/quota.service.js.map +1 -1
  69. package/dist/processor/utils/processor.utils.d.ts +3 -230
  70. package/dist/processor/utils/processor.utils.js +133 -118
  71. package/dist/processor/utils/processor.utils.js.map +1 -1
  72. package/dist/products/services/products.service.d.ts +22 -6
  73. package/dist/products/services/products.service.js +348 -146
  74. package/dist/products/services/products.service.js.map +1 -1
  75. package/dist/products/utils/functions.utils.d.ts +1 -0
  76. package/dist/products/utils/functions.utils.js +11 -0
  77. package/dist/products/utils/functions.utils.js.map +1 -1
  78. package/dist/products/validators/index.d.ts +3 -1
  79. package/dist/products/validators/index.js +5 -1
  80. package/dist/products/validators/index.js.map +1 -1
  81. package/dist/products/validators/joi-validators/create.productFallback.validator.js +7 -1
  82. package/dist/products/validators/joi-validators/create.productFallback.validator.js.map +1 -1
  83. package/dist/products/validators/joi-validators/create.productFeature.validator.js +2 -0
  84. package/dist/products/validators/joi-validators/create.productFeature.validator.js.map +1 -1
  85. package/dist/products/validators/joi-validators/create.productQuota.validator.js +10 -2
  86. package/dist/products/validators/joi-validators/create.productQuota.validator.js.map +1 -1
  87. package/dist/products/validators/joi-validators/create.userAuth.validator.d.ts +3 -0
  88. package/dist/products/validators/joi-validators/create.userAuth.validator.js +47 -0
  89. package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -0
  90. package/dist/products/validators/joi-validators/update.dataValue.validator.d.ts +1 -1
  91. package/dist/products/validators/joi-validators/update.dataValue.validator.js +3 -2
  92. package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
  93. package/dist/products/validators/joi-validators/update.productFallback.validator.js +7 -2
  94. package/dist/products/validators/joi-validators/update.productFallback.validator.js.map +1 -1
  95. package/dist/products/validators/joi-validators/update.productFeature.validator.js +2 -0
  96. package/dist/products/validators/joi-validators/update.productFeature.validator.js.map +1 -1
  97. package/dist/products/validators/joi-validators/update.productQuota.validator.js +12 -7
  98. package/dist/products/validators/joi-validators/update.productQuota.validator.js.map +1 -1
  99. package/dist/products/validators/joi-validators/update.userAuth.validator.d.ts +3 -0
  100. package/dist/products/validators/joi-validators/update.userAuth.validator.js +47 -0
  101. package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -0
  102. package/dist/test/test.import.openapi.d.ts +1 -0
  103. package/dist/test/test.import.openapi.js +76 -0
  104. package/dist/test/test.import.openapi.js.map +1 -0
  105. package/dist/test/test.logs.js +1 -2
  106. package/dist/test/test.logs.js.map +1 -1
  107. package/dist/types/appBuilder.types.d.ts +19 -1
  108. package/dist/types/enums.d.ts +6 -0
  109. package/dist/types/enums.js +8 -1
  110. package/dist/types/enums.js.map +1 -1
  111. package/dist/types/processor.types.d.ts +26 -0
  112. package/dist/types/processor.types.js.map +1 -1
  113. package/dist/types/productsBuilder.types.d.ts +20 -7
  114. package/dist/types/productsBuilder.types.js.map +1 -1
  115. package/package.json +6 -2
@@ -1,22 +1,15 @@
1
- import { IQuotaOptions } from "../../types";
2
- type ProviderOption = {
3
- quota: number;
4
- app: string;
5
- action: string;
6
- input: Record<string, any>;
7
- output: Record<string, any>;
8
- retries: number;
9
- };
1
+ import { RedisClientType } from "redis";
2
+ import { IFeatureEvent, ILogData, IQuotaOptions } from "../../types";
10
3
  export default class QuotaManager {
11
4
  private options;
12
5
  private counters;
13
6
  private totalQuota;
14
- constructor(options: ProviderOption[]);
7
+ private redisClient;
8
+ constructor(options: IQuotaOptions[], redisClient: RedisClientType);
15
9
  private resetCounters;
16
10
  private allQuotasReached;
17
11
  checkProviderAvailability(provider: string): Promise<boolean>;
18
- updateProviderStatus(options: IQuotaOptions[]): Promise<void>;
19
- getNextProvider(): ProviderOption | null;
12
+ updateProviderStatus(options: IQuotaOptions[], callback: (event: IFeatureEvent, additional_logs: Partial<ILogData>, returnValue: boolean) => Promise<any>): Promise<void>;
13
+ getNextProvider(): IQuotaOptions | null;
20
14
  incrementUsage(app: string): void;
21
15
  }
22
- export {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const types_1 = require("../../types");
4
4
  class QuotaManager {
5
- constructor(options) {
5
+ constructor(options, redisClient) {
6
6
  this.options = options;
7
7
  this.counters = new Map();
8
8
  this.totalQuota = options.reduce((sum, opt) => sum + opt.quota, 0);
@@ -24,9 +24,18 @@ class QuotaManager {
24
24
  return false;
25
25
  }
26
26
  }
27
- async updateProviderStatus(options) {
27
+ // pass function for
28
+ async updateProviderStatus(options, callback) {
28
29
  for (const option of options) {
29
- const isAvailable = await this.checkProviderAvailability(option.app);
30
+ const event = {
31
+ app: option.app,
32
+ event: option.event,
33
+ type: option.type,
34
+ input: option.input,
35
+ retries: 0,
36
+ allow_fail: false
37
+ };
38
+ const isAvailable = await callback(event, {}, true); // or false, depending on your check logic
30
39
  option.provider_status = isAvailable ? types_1.ProviderStatus.AVAILABLE : types_1.ProviderStatus.UNAVAILABLE;
31
40
  option.last_available = isAvailable;
32
41
  option.last_checked = new Date();
@@ -1 +1 @@
1
- {"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../../src/processor/services/quota.service.ts"],"names":[],"mappings":";;AAAA,uCAA4D;AAW5D,MAAqB,YAAY;IAK7B,YAAY,OAAyB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAgB;QAC5C,IAAI,CAAC;YACD,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,QAAQ,aAAa,CAAC,CAAC;YACnE,OAAO,QAAQ,CAAC,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAwB;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAc,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAc,CAAC,WAAW,CAAC;YAC7F,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC;YACpC,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEI,eAAe;;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAElD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;YACxD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,cAAc,CAAC,GAAW;;QAC7B,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;CACJ;AAxDD,+BAwDC"}
1
+ {"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../../src/processor/services/quota.service.ts"],"names":[],"mappings":";;AACA,uCAAqF;AAWrF,MAAqB,YAAY;IAM7B,YAAY,OAAwB,EAAE,WAA4B;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAgB;QAC5C,IAAI,CAAC;YACD,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,QAAQ,aAAa,CAAC,CAAC;YACnE,OAAO,QAAQ,CAAC,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,oBAAoB,CACtB,OAAwB,EACxB,QAA0G;QAE1G,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAkB;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;aACpB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,0CAA0C;YAE/F,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAc,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAc,CAAC,WAAW,CAAC;YAC7F,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC;YACpC,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEI,eAAe;;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAElD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;YACxD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,cAAc,CAAC,GAAW;;QAC7B,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;CAKJ;AA3ED,+BA2EC"}
@@ -35,7 +35,8 @@ export declare function generateSqlQuery(template: string, data: Record<string,
35
35
  export declare const compareValues: (initiator: string | number, operator: string, value: string | number) => boolean;
36
36
  export declare const structuredClone: (data: any) => any;
37
37
  export declare const cleanBlob: (data: any) => any;
38
- export declare const generateIndexes: (operator: string, iter: number, init: number, value: number) => number[];
38
+ export declare const generateIndexes: (operator: string, //">" | "<" | ">=" | "<=" | "==" | "!==",
39
+ iter: number, init: number, value: number) => number[];
39
40
  export declare const validateStringsInObject: (obj: Record<string, unknown>) => boolean;
40
41
  export declare const extractAxiosErrorDetails: (error: any) => {
41
42
  code: any;
@@ -63,65 +64,6 @@ export declare const updateUrlsInObject: (obj: any, replacementValue: any) => {
63
64
  export declare const validateFeatureJSONInput: (input: Record<string, unknown>, feature_input: Record<string, IFeatureInput>) => void;
64
65
  export declare const getMigrationsToRun: (allMigrations: IProductDatabaseMigration[], type: "up" | "down", migrationTag: string, env: string) => IProductDatabaseMigration[];
65
66
  export declare const generateMockData: (resource: string, env: string, payload: Record<string, any>) => {
66
- status: string;
67
- message: string;
68
- data: {
69
- response_code: string;
70
- response_message: string;
71
- flw_ref: string;
72
- order_ref: any;
73
- account_number: string;
74
- account_status: string;
75
- frequency: number;
76
- bank_name: string;
77
- created_at: number;
78
- expiry_date: number;
79
- note: any;
80
- amount: any;
81
- id?: undefined;
82
- account_id?: undefined;
83
- currency?: undefined;
84
- card_hash?: undefined;
85
- card_pan?: undefined;
86
- masked_pan?: undefined;
87
- city?: undefined;
88
- state?: undefined;
89
- address_1?: undefined;
90
- address_2?: undefined;
91
- zip_code?: undefined;
92
- cvv?: undefined;
93
- expiration?: undefined;
94
- send_to?: undefined;
95
- bin_check_name?: undefined;
96
- card_type?: undefined;
97
- name_on_card?: undefined;
98
- is_active?: undefined;
99
- callback_url?: undefined;
100
- transactions?: undefined;
101
- subscriptions?: undefined;
102
- authorizations?: undefined;
103
- email?: undefined;
104
- first_name?: undefined;
105
- last_name?: undefined;
106
- phone?: undefined;
107
- integration?: undefined;
108
- domain?: undefined;
109
- metadata?: undefined;
110
- customer_code?: undefined;
111
- risk_action?: undefined;
112
- createdAt?: undefined;
113
- updatedAt?: undefined;
114
- identified?: undefined;
115
- identifications?: undefined;
116
- bank?: undefined;
117
- account_name?: undefined;
118
- assigned?: undefined;
119
- active?: undefined;
120
- updated_at?: undefined;
121
- assignment?: undefined;
122
- customer?: undefined;
123
- };
124
- } | {
125
67
  status: string;
126
68
  message: string;
127
69
  data: {
@@ -146,178 +88,9 @@ export declare const generateMockData: (resource: string, env: string, payload:
146
88
  created_at: string;
147
89
  is_active: boolean;
148
90
  callback_url: string;
149
- response_code?: undefined;
150
- response_message?: undefined;
151
- flw_ref?: undefined;
152
- order_ref?: undefined;
153
- account_number?: undefined;
154
- account_status?: undefined;
155
- frequency?: undefined;
156
- bank_name?: undefined;
157
- expiry_date?: undefined;
158
- note?: undefined;
159
- transactions?: undefined;
160
- subscriptions?: undefined;
161
- authorizations?: undefined;
162
- email?: undefined;
163
- first_name?: undefined;
164
- last_name?: undefined;
165
- phone?: undefined;
166
- integration?: undefined;
167
- domain?: undefined;
168
- metadata?: undefined;
169
- customer_code?: undefined;
170
- risk_action?: undefined;
171
- createdAt?: undefined;
172
- updatedAt?: undefined;
173
- identified?: undefined;
174
- identifications?: undefined;
175
- bank?: undefined;
176
- account_name?: undefined;
177
- assigned?: undefined;
178
- active?: undefined;
179
- updated_at?: undefined;
180
- assignment?: undefined;
181
- customer?: undefined;
182
- };
183
- } | {
184
- status: boolean;
185
- message: string;
186
- data: {
187
- transactions: any[];
188
- subscriptions: any[];
189
- authorizations: any[];
190
- email: any;
191
- first_name: any;
192
- last_name: any;
193
- phone: any;
194
- integration: number;
195
- domain: string;
196
- metadata: {};
197
- customer_code: string;
198
- risk_action: string;
199
- id: number;
200
- createdAt: string;
201
- updatedAt: string;
202
- identified: boolean;
203
- identifications: any[];
204
- response_code?: undefined;
205
- response_message?: undefined;
206
- flw_ref?: undefined;
207
- order_ref?: undefined;
208
- account_number?: undefined;
209
- account_status?: undefined;
210
- frequency?: undefined;
211
- bank_name?: undefined;
212
- created_at?: undefined;
213
- expiry_date?: undefined;
214
- note?: undefined;
215
- amount?: undefined;
216
- account_id?: undefined;
217
- currency?: undefined;
218
- card_hash?: undefined;
219
- card_pan?: undefined;
220
- masked_pan?: undefined;
221
- city?: undefined;
222
- state?: undefined;
223
- address_1?: undefined;
224
- address_2?: undefined;
225
- zip_code?: undefined;
226
- cvv?: undefined;
227
- expiration?: undefined;
228
- send_to?: undefined;
229
- bin_check_name?: undefined;
230
- card_type?: undefined;
231
- name_on_card?: undefined;
232
- is_active?: undefined;
233
- callback_url?: undefined;
234
- bank?: undefined;
235
- account_name?: undefined;
236
- assigned?: undefined;
237
- active?: undefined;
238
- updated_at?: undefined;
239
- assignment?: undefined;
240
- customer?: undefined;
241
- };
242
- } | {
243
- status: boolean;
244
- message: string;
245
- data: {
246
- bank: {
247
- name: string;
248
- id: number;
249
- slug: string;
250
- };
251
- account_number: string;
252
- account_name: string;
253
- assigned: boolean;
254
- currency: string;
255
- metadata: any;
256
- active: boolean;
257
- id: number;
258
- created_at: string;
259
- updated_at: string;
260
- assignment: {
261
- integration: number;
262
- assignee_id: number;
263
- assignee_type: string;
264
- expired: boolean;
265
- account_type: string;
266
- assigned_at: Date;
267
- };
268
- customer: {
269
- id: number;
270
- first_name: string;
271
- last_name: string;
272
- email: string;
273
- customer_code: string;
274
- phone: number;
275
- risk_action: string;
276
- };
277
- response_code?: undefined;
278
- response_message?: undefined;
279
- flw_ref?: undefined;
280
- order_ref?: undefined;
281
- account_status?: undefined;
282
- frequency?: undefined;
283
- bank_name?: undefined;
284
- expiry_date?: undefined;
285
- note?: undefined;
286
- amount?: undefined;
287
- account_id?: undefined;
288
- card_hash?: undefined;
289
- card_pan?: undefined;
290
- masked_pan?: undefined;
291
- city?: undefined;
292
- state?: undefined;
293
- address_1?: undefined;
294
- address_2?: undefined;
295
- zip_code?: undefined;
296
- cvv?: undefined;
297
- expiration?: undefined;
298
- send_to?: undefined;
299
- bin_check_name?: undefined;
300
- card_type?: undefined;
301
- name_on_card?: undefined;
302
- is_active?: undefined;
303
- callback_url?: undefined;
304
- transactions?: undefined;
305
- subscriptions?: undefined;
306
- authorizations?: undefined;
307
- email?: undefined;
308
- first_name?: undefined;
309
- last_name?: undefined;
310
- phone?: undefined;
311
- integration?: undefined;
312
- domain?: undefined;
313
- customer_code?: undefined;
314
- risk_action?: undefined;
315
- createdAt?: undefined;
316
- updatedAt?: undefined;
317
- identified?: undefined;
318
- identifications?: undefined;
319
91
  };
320
92
  };
321
93
  export declare function anonymizeObject<T>(obj: T): T;
322
94
  export declare function anonymizeValue(value: string): string;
95
+ export declare function toFormUrlEncoded(json: Record<string, any>): string;
323
96
  export {};
@@ -44,6 +44,7 @@ exports.convertStringToObject = convertStringToObject;
44
44
  exports.generateSqlQuery = generateSqlQuery;
45
45
  exports.anonymizeObject = anonymizeObject;
46
46
  exports.anonymizeValue = anonymizeValue;
47
+ exports.toFormUrlEncoded = toFormUrlEncoded;
47
48
  //import * as crypto from 'crypto';
48
49
  const CryptoJS = __importStar(require("crypto-js"));
49
50
  const enums_1 = require("../../types/enums");
@@ -563,7 +564,6 @@ const extractAxiosErrorDetails = (error) => {
563
564
  return extractedError;
564
565
  }
565
566
  else {
566
- console.error('Not an AxiosError:', error);
567
567
  return { error: error.toString() };
568
568
  }
569
569
  };
@@ -640,7 +640,7 @@ const validateFeatureJSONInput = (input, feature_input) => {
640
640
  const key = feature_keys[i];
641
641
  const value = input[key];
642
642
  if (!value) {
643
- throw new Error(`{ ${key} : ${value}}, is expected in the input `);
643
+ throw new Error(`${key}, is expected in the input `);
644
644
  }
645
645
  const feature_value = feature_input[key];
646
646
  const inputService = new inputs_service_1.default();
@@ -676,54 +676,59 @@ const inAYear = () => {
676
676
  return oneYearLater.getTime();
677
677
  };
678
678
  const generateMockData = (resource, env, payload) => {
679
- const testAccountNumbers = [
680
- '0234567890',
681
- '1087654321',
682
- '2156789034',
683
- '3054987612',
684
- '4076543219',
685
- '5067892345',
686
- '6789012348',
679
+ /*const testAccountNumbers = [
680
+ '0234567890',
681
+ '1087654321',
682
+ '2156789034',
683
+ '3054987612',
684
+ '4076543219',
685
+ '5067892345',
686
+ '6789012348',
687
687
  ];
688
688
  const prodAccountNumbers = [
689
- '8543946818',
690
- '8563920810',
691
- '8500946878',
692
- '8387746800',
693
- '8233676839',
694
- '8263946910',
695
- '8223977899',
689
+ '8543946818',
690
+ '8563920810',
691
+ '8500946878',
692
+ '8387746800',
693
+ '8233676839',
694
+ '8263946910',
695
+ '8223977899',
696
696
  ];
697
+
697
698
  const random = Math.floor(Math.random() * 7);
698
699
  const InAYear = inAYear();
699
700
  if (resource === 'v3/virtual-account-numbers') {
700
- let bank_name = 'Mock Bank';
701
- let flw_ref = `MockFLWRef-${InAYear}`;
702
- let account_number = testAccountNumbers[random];
703
- if (env === 'prd') {
704
- bank_name = 'Wema Bank';
705
- flw_ref = `FLWRef-${InAYear}`;
706
- account_number = prodAccountNumbers[random];
707
- }
708
- return {
709
- status: 'success',
710
- message: 'Virtual account created',
711
- data: {
712
- response_code: '02',
713
- response_message: 'Transaction in progress',
714
- flw_ref,
715
- order_ref: payload.tx_ref,
716
- account_number,
717
- account_status: 'active',
718
- frequency: 1,
719
- bank_name,
720
- created_at: Date.now(),
721
- expiry_date: InAYear,
722
- note: payload.narration,
723
- amount: payload.amount,
724
- },
725
- };
726
- }
701
+ let bank_name = 'Mock Bank';
702
+ let flw_ref = `MockFLWRef-${InAYear}`;
703
+
704
+ let account_number = testAccountNumbers[random];
705
+
706
+ if (env === 'prd') {
707
+ bank_name = 'Wema Bank';
708
+ flw_ref = `FLWRef-${InAYear}`;
709
+
710
+ account_number = prodAccountNumbers[random];
711
+ }
712
+
713
+ return {
714
+ status: 'success',
715
+ message: 'Virtual account created',
716
+ data: {
717
+ response_code: '02',
718
+ response_message: 'Transaction in progress',
719
+ flw_ref,
720
+ order_ref: payload.tx_ref,
721
+ account_number,
722
+ account_status: 'active',
723
+ frequency: 1,
724
+ bank_name,
725
+ created_at: Date.now(),
726
+ expiry_date: InAYear,
727
+ note: payload.narration,
728
+ amount: payload.amount,
729
+ },
730
+ };
731
+ }*/
727
732
  if (resource === 'v3/virtual-cards') {
728
733
  const cardId = (0, crypto_1.randomUUID)();
729
734
  const pan = generateCardPan(env);
@@ -755,82 +760,89 @@ const generateMockData = (resource, env, payload) => {
755
760
  },
756
761
  };
757
762
  }
758
- if (resource === 'customer') {
759
- return {
760
- status: true,
761
- message: 'Customer created',
762
- data: {
763
- // @ts-ignore
764
- transactions: [],
765
- // @ts-ignore
766
- subscriptions: [],
767
- // @ts-ignore
768
- authorizations: [],
769
- email: payload.email,
770
- first_name: payload.first_name,
771
- last_name: payload.last_name,
772
- phone: payload.phone,
773
- integration: Math.floor(100000 + Math.random() * 900000),
774
- domain: 'test',
775
- metadata: {},
776
- customer_code: `CUS_${generateRandomString()}`,
777
- risk_action: 'default',
778
- id: Math.floor(10000000 + Math.random() * 90000000),
779
- createdAt: new Date().toISOString(),
780
- updatedAt: new Date().toISOString(),
781
- identified: false,
782
- // @ts-ignore
783
- identifications: [],
784
- },
785
- };
763
+ else {
764
+ return null;
786
765
  }
787
- if (resource === 'dedicated_account') {
788
- let bank_name = 'Mock Bank';
789
- let bank_slug = 'mock-bank';
790
- let account_number = testAccountNumbers[random];
791
- if (env === 'prd') {
792
- bank_name = 'Paystack-Titan Bank';
793
- bank_slug = 'paystack-titan-bank';
794
- account_number = prodAccountNumbers[random];
795
- }
796
- return {
797
- status: true,
798
- message: 'NUBAN successfully created',
799
- data: {
800
- bank: {
801
- name: bank_name,
802
- id: Math.floor(Math.random() * 20),
803
- slug: bank_slug,
804
- },
805
- account_number,
806
- account_name: 'Oluwafikayo Sanni',
807
- assigned: true,
808
- currency: 'NGN',
809
- metadata: null,
810
- active: true,
811
- id: Math.floor(Math.random() * 999),
812
- created_at: '2019-12-12T12:39:04.000Z',
813
- updated_at: '2020-01-06T15:51:24.000Z',
814
- assignment: {
815
- integration: Math.floor(100000 + Math.random() * 900000),
816
- assignee_id: Math.floor(100000 + Math.random() * 900000),
817
- assignee_type: 'Customer',
818
- expired: false,
819
- account_type: 'PAY-WITH-TRANSFER-RECURRING',
820
- assigned_at: new Date(),
821
- },
822
- customer: {
823
- id: Math.floor(100000 + Math.random() * 900000),
824
- first_name: 'Oluwafikayo',
825
- last_name: 'Sanni',
826
- email: 'fikayo@ductape.app',
827
- customer_code: 'CUS_kpb3qj71u1m0rw8',
828
- phone: 2349053267565,
829
- risk_action: 'default',
830
- },
831
- },
832
- };
766
+ /*if (resource === 'customer') {
767
+ return {
768
+ status: true,
769
+ message: 'Customer created',
770
+ data: {
771
+ // @ts-ignore
772
+ transactions: [],
773
+ // @ts-ignore
774
+ subscriptions: [],
775
+ // @ts-ignore
776
+ authorizations: [],
777
+ email: payload.email,
778
+ first_name: payload.first_name,
779
+ last_name: payload.last_name,
780
+ phone: payload.phone,
781
+ integration: Math.floor(100000 + Math.random() * 900000),
782
+ domain: 'test',
783
+ metadata: {},
784
+ customer_code: `CUS_${generateRandomString()}`,
785
+ risk_action: 'default',
786
+ id: Math.floor(10000000 + Math.random() * 90000000),
787
+ createdAt: new Date().toISOString(),
788
+ updatedAt: new Date().toISOString(),
789
+ identified: false,
790
+ // @ts-ignore
791
+ identifications: [],
792
+ },
793
+ };
833
794
  }
795
+
796
+ if (resource === 'dedicated_account') {
797
+ let bank_name = 'Mock Bank';
798
+ let bank_slug = 'mock-bank';
799
+ let account_number = testAccountNumbers[random];
800
+
801
+ if (env === 'prd') {
802
+ bank_name = 'Paystack-Titan Bank';
803
+ bank_slug = 'paystack-titan-bank';
804
+
805
+ account_number = prodAccountNumbers[random];
806
+ }
807
+
808
+ return {
809
+ status: true,
810
+ message: 'NUBAN successfully created',
811
+ data: {
812
+ bank: {
813
+ name: bank_name,
814
+ id: Math.floor(Math.random() * 20),
815
+ slug: bank_slug,
816
+ },
817
+ account_number,
818
+ account_name: 'Oluwafikayo Sanni',
819
+ assigned: true,
820
+ currency: 'NGN',
821
+ metadata: null,
822
+ active: true,
823
+ id: Math.floor(Math.random() * 999),
824
+ created_at: '2019-12-12T12:39:04.000Z',
825
+ updated_at: '2020-01-06T15:51:24.000Z',
826
+ assignment: {
827
+ integration: Math.floor(100000 + Math.random() * 900000),
828
+ assignee_id: Math.floor(100000 + Math.random() * 900000),
829
+ assignee_type: 'Customer',
830
+ expired: false,
831
+ account_type: 'PAY-WITH-TRANSFER-RECURRING',
832
+ assigned_at: new Date(),
833
+ },
834
+ customer: {
835
+ id: Math.floor(100000 + Math.random() * 900000),
836
+ first_name: 'Oluwafikayo',
837
+ last_name: 'Sanni',
838
+ email: 'fikayo@ductape.app',
839
+ customer_code: 'CUS_kpb3qj71u1m0rw8',
840
+ phone: 2349053267565,
841
+ risk_action: 'default',
842
+ },
843
+ },
844
+ };
845
+ }*/
834
846
  };
835
847
  exports.generateMockData = generateMockData;
836
848
  function generateRandomString(length = 15) {
@@ -903,4 +915,7 @@ function anonymizeValue(value) {
903
915
  }
904
916
  return chars.map((char, index) => (maskIndexes.has(index) ? '*' : char)).join('');
905
917
  }
918
+ function toFormUrlEncoded(json) {
919
+ return new URLSearchParams(json).toString();
920
+ }
906
921
  //# sourceMappingURL=processor.utils.js.map