@rocketlink/crm-model 1.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 (254) hide show
  1. package/.releaserc.json +12 -0
  2. package/RELEASE.md +59 -0
  3. package/dist/dtos/adapter.request.dto.d.ts +10 -0
  4. package/dist/dtos/adapter.request.dto.d.ts.map +1 -0
  5. package/dist/dtos/adapter.request.dto.js +2 -0
  6. package/dist/dtos/base.request.dto.d.ts +5 -0
  7. package/dist/dtos/base.request.dto.d.ts.map +1 -0
  8. package/dist/dtos/base.request.dto.js +2 -0
  9. package/dist/dtos/campaign.request.dto.d.ts +5 -0
  10. package/dist/dtos/campaign.request.dto.d.ts.map +1 -0
  11. package/dist/dtos/campaign.request.dto.js +2 -0
  12. package/dist/dtos/category.request.dto.d.ts +8 -0
  13. package/dist/dtos/category.request.dto.d.ts.map +1 -0
  14. package/dist/dtos/category.request.dto.js +2 -0
  15. package/dist/dtos/common/base.request.dto.d.ts +5 -0
  16. package/dist/dtos/common/base.request.dto.d.ts.map +1 -0
  17. package/dist/dtos/common/base.request.dto.js +2 -0
  18. package/dist/dtos/common/paginated.request.dto.d.ts +7 -0
  19. package/dist/dtos/common/paginated.request.dto.d.ts.map +1 -0
  20. package/dist/dtos/common/paginated.request.dto.js +2 -0
  21. package/dist/dtos/common/paginated.response.dto.d.ts +10 -0
  22. package/dist/dtos/common/paginated.response.dto.d.ts.map +1 -0
  23. package/dist/dtos/common/paginated.response.dto.js +2 -0
  24. package/dist/dtos/csv.request.dto.d.ts +11 -0
  25. package/dist/dtos/csv.request.dto.d.ts.map +1 -0
  26. package/dist/dtos/csv.request.dto.js +2 -0
  27. package/dist/dtos/csv.response.dto.d.ts +9 -0
  28. package/dist/dtos/csv.response.dto.d.ts.map +1 -0
  29. package/dist/dtos/csv.response.dto.js +2 -0
  30. package/dist/dtos/csvRow.request.dto.d.ts +22 -0
  31. package/dist/dtos/csvRow.request.dto.d.ts.map +1 -0
  32. package/dist/dtos/csvRow.request.dto.js +2 -0
  33. package/dist/dtos/emailTemplate.request.dto.d.ts +1 -0
  34. package/dist/dtos/emailTemplate.request.dto.d.ts.map +1 -0
  35. package/dist/dtos/emailTemplate.request.dto.js +1 -0
  36. package/dist/dtos/empTransactions.request.dto.d.ts +4 -0
  37. package/dist/dtos/empTransactions.request.dto.d.ts.map +1 -0
  38. package/dist/dtos/empTransactions.request.dto.js +2 -0
  39. package/dist/dtos/event.request.dto.d.ts +8 -0
  40. package/dist/dtos/event.request.dto.d.ts.map +1 -0
  41. package/dist/dtos/event.request.dto.js +2 -0
  42. package/dist/dtos/field.request.dto.d.ts +4 -0
  43. package/dist/dtos/field.request.dto.d.ts.map +1 -0
  44. package/dist/dtos/field.request.dto.js +2 -0
  45. package/dist/dtos/hook.request.dto.d.ts +13 -0
  46. package/dist/dtos/hook.request.dto.d.ts.map +1 -0
  47. package/dist/dtos/hook.request.dto.js +2 -0
  48. package/dist/dtos/hookOutbox.request.dto.d.ts +11 -0
  49. package/dist/dtos/hookOutbox.request.dto.d.ts.map +1 -0
  50. package/dist/dtos/hookOutbox.request.dto.js +2 -0
  51. package/dist/dtos/hookProfile.request.dto.d.ts +7 -0
  52. package/dist/dtos/hookProfile.request.dto.d.ts.map +1 -0
  53. package/dist/dtos/hookProfile.request.dto.js +2 -0
  54. package/dist/dtos/lead.request.dto.d.ts +14 -0
  55. package/dist/dtos/lead.request.dto.d.ts.map +1 -0
  56. package/dist/dtos/lead.request.dto.js +2 -0
  57. package/dist/dtos/mid.request.dto.d.ts +14 -0
  58. package/dist/dtos/mid.request.dto.d.ts.map +1 -0
  59. package/dist/dtos/mid.request.dto.js +2 -0
  60. package/dist/dtos/offer.request.dto.d.ts +15 -0
  61. package/dist/dtos/offer.request.dto.d.ts.map +1 -0
  62. package/dist/dtos/offer.request.dto.js +2 -0
  63. package/dist/dtos/order.request.dto.d.ts +22 -0
  64. package/dist/dtos/order.request.dto.d.ts.map +1 -0
  65. package/dist/dtos/order.request.dto.js +2 -0
  66. package/dist/dtos/product.request.dto.d.ts +9 -0
  67. package/dist/dtos/product.request.dto.d.ts.map +1 -0
  68. package/dist/dtos/product.request.dto.js +2 -0
  69. package/dist/dtos/provider.request.dto.d.ts +12 -0
  70. package/dist/dtos/provider.request.dto.d.ts.map +1 -0
  71. package/dist/dtos/provider.request.dto.js +2 -0
  72. package/dist/dtos/subscription.request.dto.d.ts +22 -0
  73. package/dist/dtos/subscription.request.dto.d.ts.map +1 -0
  74. package/dist/dtos/subscription.request.dto.js +2 -0
  75. package/dist/dtos/transaction.request.dto.d.ts +14 -0
  76. package/dist/dtos/transaction.request.dto.d.ts.map +1 -0
  77. package/dist/dtos/transaction.request.dto.js +2 -0
  78. package/dist/dtos/transactionError.request.dto.d.ts +10 -0
  79. package/dist/dtos/transactionError.request.dto.d.ts.map +1 -0
  80. package/dist/dtos/transactionError.request.dto.js +2 -0
  81. package/dist/gateways/adapters/dtos/transaction-emp.request.dto.d.ts +21 -0
  82. package/dist/gateways/adapters/dtos/transaction-emp.request.dto.d.ts.map +1 -0
  83. package/dist/gateways/adapters/dtos/transaction-emp.request.dto.js +2 -0
  84. package/dist/gateways/adapters/dtos/transaction-finxp.request.dto.d.ts +22 -0
  85. package/dist/gateways/adapters/dtos/transaction-finxp.request.dto.d.ts.map +1 -0
  86. package/dist/gateways/adapters/dtos/transaction-finxp.request.dto.js +2 -0
  87. package/dist/gateways/adapters/dtos/transaction-novalnet.request.dto.d.ts +22 -0
  88. package/dist/gateways/adapters/dtos/transaction-novalnet.request.dto.d.ts.map +1 -0
  89. package/dist/gateways/adapters/dtos/transaction-novalnet.request.dto.js +2 -0
  90. package/dist/gateways/adapters/model/transactionEmp.model.d.ts +134 -0
  91. package/dist/gateways/adapters/model/transactionEmp.model.d.ts.map +1 -0
  92. package/dist/gateways/adapters/model/transactionEmp.model.js +103 -0
  93. package/dist/gateways/adapters/model/transactionFinXP.model.d.ts +106 -0
  94. package/dist/gateways/adapters/model/transactionFinXP.model.d.ts.map +1 -0
  95. package/dist/gateways/adapters/model/transactionFinXP.model.js +68 -0
  96. package/dist/gateways/adapters/model/transactionNovalNet.model.d.ts +121 -0
  97. package/dist/gateways/adapters/model/transactionNovalNet.model.d.ts.map +1 -0
  98. package/dist/gateways/adapters/model/transactionNovalNet.model.js +121 -0
  99. package/dist/gateways/providers/model/finXpManual.model.d.ts +16 -0
  100. package/dist/gateways/providers/model/finXpManual.model.d.ts.map +1 -0
  101. package/dist/gateways/providers/model/finXpManual.model.js +17 -0
  102. package/dist/gateways/providers/model/genesis.constants.d.ts +28 -0
  103. package/dist/gateways/providers/model/genesis.constants.d.ts.map +1 -0
  104. package/dist/gateways/providers/model/genesis.constants.js +27 -0
  105. package/dist/gateways/providers/model/genesis.model.d.ts +82 -0
  106. package/dist/gateways/providers/model/genesis.model.d.ts.map +1 -0
  107. package/dist/gateways/providers/model/genesis.model.js +2 -0
  108. package/dist/gateways/providers/model/novalNetManual.model.d.ts +62 -0
  109. package/dist/gateways/providers/model/novalNetManual.model.d.ts.map +1 -0
  110. package/dist/gateways/providers/model/novalNetManual.model.js +63 -0
  111. package/dist/index.d.ts +60 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +89 -0
  114. package/dist/model/campaign.model.d.ts +24 -0
  115. package/dist/model/campaign.model.d.ts.map +1 -0
  116. package/dist/model/campaign.model.js +2 -0
  117. package/dist/model/category.model.d.ts +8 -0
  118. package/dist/model/category.model.d.ts.map +1 -0
  119. package/dist/model/category.model.js +2 -0
  120. package/dist/model/csv.model.d.ts +57 -0
  121. package/dist/model/csv.model.d.ts.map +1 -0
  122. package/dist/model/csv.model.js +26 -0
  123. package/dist/model/emailTemplate.model.d.ts +1 -0
  124. package/dist/model/emailTemplate.model.d.ts.map +1 -0
  125. package/dist/model/emailTemplate.model.js +1 -0
  126. package/dist/model/empTransactions.model.d.ts +10 -0
  127. package/dist/model/empTransactions.model.d.ts.map +1 -0
  128. package/dist/model/empTransactions.model.js +2 -0
  129. package/dist/model/event.model.d.ts +7 -0
  130. package/dist/model/event.model.d.ts.map +1 -0
  131. package/dist/model/event.model.js +2 -0
  132. package/dist/model/field.model.d.ts +17 -0
  133. package/dist/model/field.model.d.ts.map +1 -0
  134. package/dist/model/field.model.js +2 -0
  135. package/dist/model/gateway.model.d.ts +49 -0
  136. package/dist/model/gateway.model.d.ts.map +1 -0
  137. package/dist/model/gateway.model.js +20 -0
  138. package/dist/model/hook.model.d.ts +14 -0
  139. package/dist/model/hook.model.d.ts.map +1 -0
  140. package/dist/model/hook.model.js +2 -0
  141. package/dist/model/hookOutbox.model.d.ts +20 -0
  142. package/dist/model/hookOutbox.model.d.ts.map +1 -0
  143. package/dist/model/hookOutbox.model.js +8 -0
  144. package/dist/model/hookProfile.model.d.ts +18 -0
  145. package/dist/model/hookProfile.model.d.ts.map +1 -0
  146. package/dist/model/hookProfile.model.js +2 -0
  147. package/dist/model/lead.model.d.ts +27 -0
  148. package/dist/model/lead.model.d.ts.map +1 -0
  149. package/dist/model/lead.model.js +2 -0
  150. package/dist/model/mid.model.d.ts +24 -0
  151. package/dist/model/mid.model.d.ts.map +1 -0
  152. package/dist/model/mid.model.js +7 -0
  153. package/dist/model/offer.model.d.ts +26 -0
  154. package/dist/model/offer.model.d.ts.map +1 -0
  155. package/dist/model/offer.model.js +2 -0
  156. package/dist/model/order.model.d.ts +38 -0
  157. package/dist/model/order.model.d.ts.map +1 -0
  158. package/dist/model/order.model.js +2 -0
  159. package/dist/model/paymentData.model.d.ts +45 -0
  160. package/dist/model/paymentData.model.d.ts.map +1 -0
  161. package/dist/model/paymentData.model.js +20 -0
  162. package/dist/model/product.model.d.ts +12 -0
  163. package/dist/model/product.model.d.ts.map +1 -0
  164. package/dist/model/product.model.js +2 -0
  165. package/dist/model/recurringSettingConfig.model.d.ts +18 -0
  166. package/dist/model/recurringSettingConfig.model.d.ts.map +1 -0
  167. package/dist/model/recurringSettingConfig.model.js +7 -0
  168. package/dist/model/subscription.model.d.ts +28 -0
  169. package/dist/model/subscription.model.d.ts.map +1 -0
  170. package/dist/model/subscription.model.js +2 -0
  171. package/dist/model/subscriptionStepdown.model.d.ts +11 -0
  172. package/dist/model/subscriptionStepdown.model.d.ts.map +1 -0
  173. package/dist/model/subscriptionStepdown.model.js +2 -0
  174. package/dist/model/transaction.model.d.ts +36 -0
  175. package/dist/model/transaction.model.d.ts.map +1 -0
  176. package/dist/model/transaction.model.js +20 -0
  177. package/dist/model/transactionError.model.d.ts +17 -0
  178. package/dist/model/transactionError.model.d.ts.map +1 -0
  179. package/dist/model/transactionError.model.js +2 -0
  180. package/dist/util/constants.d.ts +97 -0
  181. package/dist/util/constants.d.ts.map +1 -0
  182. package/dist/util/constants.js +87 -0
  183. package/dist/util/dateUtils.d.ts +25 -0
  184. package/dist/util/dateUtils.d.ts.map +1 -0
  185. package/dist/util/dateUtils.js +114 -0
  186. package/dist/util/numberUtils.d.ts +2 -0
  187. package/dist/util/numberUtils.d.ts.map +1 -0
  188. package/dist/util/numberUtils.js +10 -0
  189. package/package.json +34 -0
  190. package/src/dtos/adapter.request.dto.ts +10 -0
  191. package/src/dtos/base.request.dto.ts +4 -0
  192. package/src/dtos/campaign.request.dto.ts +5 -0
  193. package/src/dtos/category.request.dto.ts +8 -0
  194. package/src/dtos/common/base.request.dto.ts +4 -0
  195. package/src/dtos/common/paginated.request.dto.ts +7 -0
  196. package/src/dtos/common/paginated.response.dto.ts +11 -0
  197. package/src/dtos/csv.request.dto.ts +11 -0
  198. package/src/dtos/csv.response.dto.ts +10 -0
  199. package/src/dtos/csvRow.request.dto.ts +24 -0
  200. package/src/dtos/emailTemplate.request.dto.ts +0 -0
  201. package/src/dtos/empTransactions.request.dto.ts +5 -0
  202. package/src/dtos/event.request.dto.ts +9 -0
  203. package/src/dtos/fastify.d.ts +19 -0
  204. package/src/dtos/field.request.dto.ts +4 -0
  205. package/src/dtos/hook.request.dto.ts +14 -0
  206. package/src/dtos/hookOutbox.request.dto.ts +12 -0
  207. package/src/dtos/hookProfile.request.dto.ts +7 -0
  208. package/src/dtos/lead.request.dto.ts +14 -0
  209. package/src/dtos/mid.request.dto.ts +14 -0
  210. package/src/dtos/offer.request.dto.ts +15 -0
  211. package/src/dtos/order.request.dto.ts +23 -0
  212. package/src/dtos/product.request.dto.ts +9 -0
  213. package/src/dtos/provider.request.dto.ts +13 -0
  214. package/src/dtos/subscription.request.dto.ts +22 -0
  215. package/src/dtos/transaction.request.dto.ts +14 -0
  216. package/src/dtos/transactionError.request.dto.ts +10 -0
  217. package/src/gateways/adapters/dtos/transaction-emp.request.dto.ts +22 -0
  218. package/src/gateways/adapters/dtos/transaction-finxp.request.dto.ts +23 -0
  219. package/src/gateways/adapters/dtos/transaction-novalnet.request.dto.ts +23 -0
  220. package/src/gateways/adapters/model/transactionEmp.model.ts +223 -0
  221. package/src/gateways/adapters/model/transactionFinXP.model.ts +167 -0
  222. package/src/gateways/adapters/model/transactionNovalNet.model.ts +224 -0
  223. package/src/gateways/providers/model/finXpManual.model.ts +27 -0
  224. package/src/gateways/providers/model/genesis.constants.ts +30 -0
  225. package/src/gateways/providers/model/genesis.model.ts +89 -0
  226. package/src/gateways/providers/model/novalNetManual.model.ts +119 -0
  227. package/src/index.ts +72 -0
  228. package/src/model/campaign.model.ts +25 -0
  229. package/src/model/category.model.ts +7 -0
  230. package/src/model/csv.model.ts +80 -0
  231. package/src/model/emailTemplate.model.ts +0 -0
  232. package/src/model/empTransactions.model.ts +9 -0
  233. package/src/model/event.model.ts +6 -0
  234. package/src/model/fastify.d.ts +19 -0
  235. package/src/model/field.model.ts +17 -0
  236. package/src/model/gateway.model.ts +52 -0
  237. package/src/model/hook.model.ts +14 -0
  238. package/src/model/hookOutbox.model.ts +20 -0
  239. package/src/model/hookProfile.model.ts +19 -0
  240. package/src/model/lead.model.ts +28 -0
  241. package/src/model/mid.model.ts +26 -0
  242. package/src/model/offer.model.ts +26 -0
  243. package/src/model/order.model.ts +41 -0
  244. package/src/model/paymentData.model.ts +59 -0
  245. package/src/model/product.model.ts +11 -0
  246. package/src/model/recurringSettingConfig.model.ts +18 -0
  247. package/src/model/subscription.model.ts +30 -0
  248. package/src/model/subscriptionStepdown.model.ts +10 -0
  249. package/src/model/transaction.model.ts +40 -0
  250. package/src/model/transactionError.model.ts +17 -0
  251. package/src/util/constants.ts +113 -0
  252. package/src/util/dateUtils.ts +98 -0
  253. package/src/util/numberUtils.ts +5 -0
  254. package/tsconfig.json +27 -0
@@ -0,0 +1,224 @@
1
+ import { Transaction } from "../../../model/transaction.model";
2
+ import { BANKS } from "../../../model/gateway.model";
3
+
4
+ export const NOVALNET_STATUS_DESC = {
5
+ SUCCESS: 'SUCCESSFUL',
6
+ PENDING: 'PENDING',
7
+ FAILED: 'FAILED',
8
+ CONFIRMED: 'CONFIRMED',
9
+ CANCELLED: 'CANCELLED',
10
+ REFUNDED: 'REFUNDED',
11
+ CHARGEBACK: 'CHARGEBACK',
12
+ REJECTED: 'REJECTED',
13
+ DECLINED: 'DECLINED',
14
+ ON_HOLD: 'ON_HOLD',
15
+ PROCESSING: 'PROCESSING'
16
+ } as const;
17
+ export type NOVALNET_STATUS_DESC = (typeof NOVALNET_STATUS_DESC)[keyof typeof NOVALNET_STATUS_DESC];
18
+
19
+ export function isTransactionNovalnet(t: Transaction): t is TransactionNovalNet {
20
+ return t?.bank === BANKS.Novalnet;
21
+ }
22
+
23
+ export interface TransactionNovalNet extends Transaction {
24
+ bank: typeof BANKS.Novalnet;
25
+ id?: number;
26
+ date?: string;
27
+ time?: string;
28
+ activationDate?: string;
29
+ activationTime?: string;
30
+ tid?: string;
31
+ status?: string;
32
+ statusDesc?: string;
33
+ paymentType?: string;
34
+ invoiceType?: string;
35
+ invoiceRef?: string;
36
+ amount?: string;
37
+ currency?: string;
38
+ amountEur?: string;
39
+ cost?: string;
40
+ tax?: string;
41
+ costInclTax?: string;
42
+ fixCommissionAmount?: string;
43
+ fixCommissionAmountEur?: string;
44
+ payoutAmount?: string;
45
+ payoutCurrency?: string;
46
+ origAmount?: string;
47
+ origTid?: string;
48
+ origDate?: string;
49
+ description?: string;
50
+ marker?: string;
51
+ novalcardNumber?: string;
52
+ customerNumber?: number; //subscriptionId
53
+ orderNumber?: number; //orderId
54
+ gender?: string;
55
+ firstName?: string;
56
+ lastName?: string;
57
+ email?: string;
58
+ street?: string;
59
+ houseNumber?: string;
60
+ zipCode?: string;
61
+ city?: string;
62
+ countryCode?: string;
63
+ birthdate?: string;
64
+ company?: string;
65
+ input1?: string;
66
+ inputVal1?: string;
67
+ input2?: string;
68
+ inputVal2?: string;
69
+ input3?: string;
70
+ inputVal3?: string;
71
+ input4?: string;
72
+ inputVal4?: string;
73
+ refundAmount?: string;
74
+ refundTid?: string;
75
+ refundDate?: string;
76
+ refundRef?: string;
77
+ returnAmount?: string;
78
+ returnTid?: string;
79
+ returnDate?: string;
80
+ returnCode?: string;
81
+ returnReason?: string;
82
+ creditAmount?: string;
83
+ creditTid?: string;
84
+ creditDate?: string;
85
+ openAmount?: string;
86
+ paymentInfo1?: string;
87
+ paymentInfo2?: string;
88
+ paymentInfo3?: string;
89
+ paymentInfo4?: string;
90
+ subscription?: string;
91
+ startAmount?: string;
92
+ startTid?: string;
93
+ startDate?: string;
94
+ fraudModules?: string;
95
+ rejectedFraudModule?: string;
96
+ projectId?: string;
97
+ projectName?: string;
98
+ tariffId?: string;
99
+ tariffName?: string;
100
+ affiliateId?: string;
101
+ affiliateName?: string;
102
+ merchantId?: string;
103
+ mobile?: string;
104
+ countryName?: string;
105
+ paymentName?: string;
106
+ streetAndHouseNo?: string;
107
+ dateAndTime?: string;
108
+ activationDateAndTime?: string;
109
+ input5?: string;
110
+ inputVal5?: string;
111
+ ipCountry?: string;
112
+ internetServiceProvider?: string;
113
+ paymentReference?: string;
114
+ buergelScore?: string;
115
+ paymentInfo5?: string;
116
+ paymentInfo6?: string;
117
+ subscriptionId?: string | number;
118
+ vatId?: string;
119
+ paymentInfo7?: string;
120
+ accountingReference?: string;
121
+ novalnetEndcustomerInvoiceNumber?: string;
122
+ }
123
+
124
+ export const novalNetTransactionColumnMapper: Partial<Record<keyof TransactionNovalNet, string>> = {
125
+ date: "Date",
126
+ time: "Time",
127
+ activationDate: "Activation date",
128
+ activationTime: "Activation time",
129
+ tid: "TID",
130
+ status: "Status",
131
+ statusDesc: "Status desc",
132
+ paymentType: "Payment type",
133
+ invoiceType: "Invoice type",
134
+ invoiceRef: "Invoice ref",
135
+ amount: "Amount",
136
+ currency: "Currency",
137
+ amountEur: "Amount (EUR)",
138
+ cost: "Cost",
139
+ tax: "Tax",
140
+ costInclTax: "Cost incl. Tax",
141
+ fixCommissionAmount: "Fix commission amount",
142
+ fixCommissionAmountEur: "Fix commission amount (EUR)",
143
+ payoutAmount: "Payout amount",
144
+ payoutCurrency: "Payout currency",
145
+ origAmount: "Orig amount",
146
+ origTid: "Orig TID",
147
+ origDate: "Orig date",
148
+ description: "Description",
149
+ marker: "Marker",
150
+ novalcardNumber: "Novalcard number",
151
+ customerNumber: "Customer number",
152
+ orderNumber: "Order number",
153
+ gender: "Gender",
154
+ firstName: "First name",
155
+ lastName: "Last name",
156
+ email: "Email",
157
+ street: "Street",
158
+ houseNumber: "House number",
159
+ zipCode: "Zip code",
160
+ city: "City",
161
+ countryCode: "Country code",
162
+ birthdate: "Birthdate",
163
+ company: "Company",
164
+ input1: "Input1",
165
+ inputVal1: "Input val1",
166
+ input2: "Input2",
167
+ inputVal2: "Input val2",
168
+ input3: "Input3",
169
+ inputVal3: "Input val3",
170
+ input4: "Input4",
171
+ inputVal4: "Input val4",
172
+ refundAmount: "Refund amount",
173
+ refundTid: "Refund TID",
174
+ refundDate: "Refund date",
175
+ refundRef: "Refund ref",
176
+ returnAmount: "Return amount",
177
+ returnTid: "Return TID",
178
+ returnDate: "Return date",
179
+ returnCode: "Return code",
180
+ returnReason: "Return reason",
181
+ creditAmount: "Credit amount",
182
+ creditTid: "Credit TID",
183
+ creditDate: "Credit date",
184
+ openAmount: "Open amount",
185
+ paymentInfo1: "Payment info1",
186
+ paymentInfo2: "Payment info2",
187
+ paymentInfo3: "Payment info3",
188
+ paymentInfo4: "Payment info4",
189
+ subscription: "Subscription",
190
+ startAmount: "Start amount",
191
+ startTid: "Start TID",
192
+ startDate: "Start date",
193
+ fraudModules: "Fraud modules",
194
+ rejectedFraudModule: "Rejected fraud module",
195
+ projectId: "Project ID",
196
+ projectName: "Project name",
197
+ tariffId: "Tariff ID",
198
+ tariffName: "Tariff name",
199
+ affiliateId: "Affiliate ID",
200
+ affiliateName: "Affiliate name",
201
+ merchantId: "Merchant ID",
202
+ mobile: "Mobile",
203
+ countryName: "Country name",
204
+ paymentName: "Payment name",
205
+ streetAndHouseNo: "Street and House no",
206
+ dateAndTime: "Date and Time",
207
+ activationDateAndTime: "Activation date and time",
208
+ input5: "Input5",
209
+ inputVal5: "Input val5",
210
+ ipCountry: "IP country",
211
+ internetServiceProvider: "Internet service provider",
212
+ paymentReference: "Payment reference",
213
+ buergelScore: "Bürgel score",
214
+ paymentInfo5: "Payment info5",
215
+ paymentInfo6: "Payment info6",
216
+ subscriptionId: "Subscription ID",
217
+ vatId: "VAT ID",
218
+ paymentInfo7: "Payment info7",
219
+ accountingReference: "Accounting reference",
220
+ novalnetEndcustomerInvoiceNumber: "Novalnet Endcustomer invoice number"
221
+ };
222
+
223
+ export const novalNetTransactionColumnKeys = Object.keys(novalNetTransactionColumnMapper);
224
+ export const novalNetTransactionColumnValues = Object.values(novalNetTransactionColumnMapper);
@@ -0,0 +1,27 @@
1
+ export interface FinXpSddSaleParams {
2
+ customerId: string;
3
+ customerName: string;
4
+ amount: string;
5
+ bic: string;
6
+ currency: string;
7
+ iban: string;
8
+ transactionInformation: string;
9
+ additionalInfo: string;
10
+ mandateReference: string;
11
+ mandateDate: string;
12
+ }
13
+
14
+ export const finXpSDDRequestColumnMapper: Partial<Record<keyof FinXpSddSaleParams, string>> = {
15
+ customerId: "customer id", //map to CUSTOMER ID
16
+ customerName: "customer name", //map to CUSTOMER NAME
17
+ amount: "amount", //map to AMOUNT
18
+ bic: "BIC", //map to CUSTOMER BIC
19
+ currency: "currency", //map to CURRENCY
20
+ iban: "iban", //map to CUSTOMER IBAN
21
+ transactionInformation: "transaction information", //map to TRANSACTION INFORMATION
22
+ additionalInfo: "additional info", //map to ADDITIONAL INFO 1
23
+ mandateReference: "mandate reference", //map to mandate reference
24
+ mandateDate: "mandate date" //mandate date needs to be formated as dd.mm.yyyy - map to MANDATE DATE
25
+ };
26
+ export const finXpSDDRequestColumnMapperKeys = Object.keys(finXpSDDRequestColumnMapper);
27
+ export const finXpSDDRequestColumnMapperValues = Object.values(finXpSDDRequestColumnMapper);
@@ -0,0 +1,30 @@
1
+ export const GENESIS_TRANSACTION_TYPE_BY_PAYMENT_METHOD = {
2
+ SEPA_DD: {
3
+ SDD_SALE: "sdd_sale",
4
+ SDD_REFUND: "sdd_refund"
5
+ },
6
+ CREDIT_CARD: {
7
+ SALE: "sale",
8
+ REFUND: "refund",
9
+ CHARGEBACK: "chargeback",
10
+ },
11
+ };
12
+
13
+ export const GENESIS_TRANSACTION_TYPE = {
14
+ SDD_SALE: "sdd_sale",
15
+ SDD_REFUND: "sdd_refund"
16
+ };
17
+ export type GENESIS_TRANSACTION_TYPE = (typeof GENESIS_TRANSACTION_TYPE)[keyof typeof GENESIS_TRANSACTION_TYPE];
18
+
19
+ export const GENESIS_TRANSACTION_STATUS = {
20
+ APPROVED: "approved",
21
+ PENDING_ASYNC: "pending_async",
22
+ ERROR: "error"
23
+ };
24
+ export type GENESIS_TRANSACTION_STATUS = (typeof GENESIS_TRANSACTION_STATUS)[keyof typeof GENESIS_TRANSACTION_STATUS];
25
+
26
+ export const GENESIS_TRANSACTION_MODE = {
27
+ LIVE: "live",
28
+ TEST: "test"
29
+ };
30
+ export type GENESIS_TRANSACTION_MODE = (typeof GENESIS_TRANSACTION_MODE)[keyof typeof GENESIS_TRANSACTION_MODE];
@@ -0,0 +1,89 @@
1
+ import { GENESIS_TRANSACTION_TYPE } from "./genesis.constants";
2
+ import { GENESIS_TRANSACTION_STATUS } from "./genesis.constants";
3
+ import { GENESIS_TRANSACTION_MODE } from "./genesis.constants";
4
+
5
+ export interface GenesisConfig {
6
+ customer: {
7
+ username?: string;
8
+ password?: string;
9
+ token?: string;
10
+ force_smart_routing?: boolean;
11
+ };
12
+ gateway: {
13
+ protocol?: string;
14
+ hostname?: string; //endpoint-you-want e-comprocessing.net or emerchantpay.net
15
+ timeout?: string;
16
+ testing: boolean;
17
+ };
18
+ notifications?: {
19
+ host: string;
20
+ port: string;
21
+ path: string;
22
+ };
23
+ }
24
+
25
+ export interface GenesisSddSaleParams {
26
+ transaction_id: string; //orderId
27
+ usage: string;
28
+ remote_ip: string;
29
+ amount: string;
30
+ currency: string;
31
+ iban: string;
32
+ bic: string;
33
+ billing_address: {
34
+ first_name: string;
35
+ last_name: string;
36
+ city: string;
37
+ address1: string;
38
+ country: string;
39
+ zip_code: string;
40
+ };
41
+ }
42
+
43
+ export interface GenesisResponse {
44
+ transaction_type?: GENESIS_TRANSACTION_TYPE;
45
+ status: GENESIS_TRANSACTION_STATUS;
46
+ unique_id: string; //EMP transactionId
47
+ transaction_id?: string; //orderId. When we download CSV from the bank, this value is present in "Merchant Transaction ID"
48
+ bank_account_number?: string;
49
+ bank_identifier_code?: string;
50
+ technical_message?: string;
51
+ code?: string;
52
+ message?: string;
53
+ mode?: GENESIS_TRANSACTION_MODE,
54
+ timestamp?: string; //"2025-10-27T14:42:27Z"
55
+ descriptor?: string;
56
+ amount?: string;
57
+ currency?: string;
58
+ sent_to_acquirer?: boolean;
59
+ }
60
+
61
+ export interface GenesisRiconcileByDateResponse {
62
+ page: number
63
+ per_page: number
64
+ total_count: number;
65
+ pages_count: number;
66
+ payment_response: GenesisResponse[];
67
+ }
68
+
69
+ export interface GenesisRefundParams {
70
+ transactionId: string;
71
+ }
72
+
73
+ export interface GenesisChargebackParams {
74
+ transactionId: string;
75
+ }
76
+
77
+ export interface GenesisError {
78
+ status: string;
79
+ code?: string;
80
+ message?: string;
81
+ technical_message?: string;
82
+ response?: GenesisFieldError[];
83
+ }
84
+
85
+ export interface GenesisFieldError {
86
+ type: string;
87
+ property: string;
88
+ message: string;
89
+ }
@@ -0,0 +1,119 @@
1
+ export interface NovalNetSddSaleParams {
2
+ vendorId: string;
3
+ vendorAuthcode: string;
4
+ productId: string;
5
+ tariffId: string;
6
+ testMode: string;
7
+ amount: string;
8
+ currency: string;
9
+ tariffPeriod: string;
10
+ tariffPeriod2: string;
11
+ tariffPeriod2Amount: string;
12
+ utf8: string;
13
+ lang: string;
14
+ orderNo: string;
15
+ customerNo: string;
16
+ gender: string;
17
+ title: string;
18
+ firstName: string;
19
+ lastName: string;
20
+ street: string;
21
+ searchInStreet: string;
22
+ zip: string;
23
+ city: string;
24
+ countryCode: string;
25
+ birthDate: string;
26
+ tel: string;
27
+ mobile: string;
28
+ email: string;
29
+ paymentType: string;
30
+ invoiceType: string;
31
+ dueDate: string;
32
+ invoiceRef: string;
33
+ paymentRef: string;
34
+ tid: string;
35
+ sepaDueDate: string;
36
+ mandatePresent: string;
37
+ mandateSignatureDate: string;
38
+ mandateId: string;
39
+ iban: string;
40
+ bic: string;
41
+ debitAccountHolder: string;
42
+ debitReason1: string;
43
+ debitReason2: string;
44
+ debitReason3: string;
45
+ debitReason4: string;
46
+ debitReason5: string;
47
+ input1: string;
48
+ input2: string;
49
+ input3: string;
50
+ input4: string;
51
+ input5: string;
52
+ input6: string;
53
+ input7: string;
54
+ discount: string;
55
+ mref: string;
56
+ createPaymentRef: string;
57
+ noRc: string;
58
+ }
59
+
60
+ export const novalNetSDDRequestColumnMapper: Partial<Record<keyof NovalNetSddSaleParams, string>> = {
61
+ vendorId: "vendor_id",
62
+ vendorAuthcode: "vendor_authcode",
63
+ productId: "product_id",
64
+ tariffId: "tariff_id",
65
+ testMode: "test_mode",
66
+ amount: "amount",
67
+ currency: "currency",
68
+ tariffPeriod: "tariff_period",
69
+ tariffPeriod2: "tariff_period2",
70
+ tariffPeriod2Amount: "tariff_period2_amount",
71
+ utf8: "utf8",
72
+ lang: "lang",
73
+ orderNo: "order_no",
74
+ customerNo: "customer_no",
75
+ gender: "gender",
76
+ title: "title",
77
+ firstName: "first_name",
78
+ lastName: "last_name",
79
+ street: "street",
80
+ searchInStreet: "search_in_street",
81
+ zip: "zip",
82
+ city: "city",
83
+ countryCode: "country_code",
84
+ birthDate: "birth_date",
85
+ tel: "tel",
86
+ mobile: "mobile",
87
+ email: "email",
88
+ paymentType: "payment_type",
89
+ invoiceType: "invoice_type",
90
+ dueDate: "due_date",
91
+ invoiceRef: "invoice_ref",
92
+ paymentRef: "payment_ref",
93
+ tid: "tid",
94
+ sepaDueDate: "sepa_due_date",
95
+ mandatePresent: "mandate_present",
96
+ mandateSignatureDate: "mandate_signature_date",
97
+ mandateId: "mandate_id",
98
+ iban: "iban",
99
+ bic: "bic",
100
+ debitAccountHolder: "debit_account_holder",
101
+ debitReason1: "debit_reason_1",
102
+ debitReason2: "debit_reason_2",
103
+ debitReason3: "debit_reason_3",
104
+ debitReason4: "debit_reason_4",
105
+ debitReason5: "debit_reason_5",
106
+ input1: "input1",
107
+ input2: "input2",
108
+ input3: "input3",
109
+ input4: "input4",
110
+ input5: "input5",
111
+ input6: "input6",
112
+ input7: "input7",
113
+ discount: "discount",
114
+ mref: "mref",
115
+ createPaymentRef: "create_payment_ref",
116
+ noRc: "no_rc",
117
+ };
118
+ export const novalNetSDDRequestColumnMapperKeys = Object.keys(novalNetSDDRequestColumnMapper);
119
+ export const novalNetSDDRequestColumnMapperValues = Object.values(novalNetSDDRequestColumnMapper);
package/src/index.ts ADDED
@@ -0,0 +1,72 @@
1
+ // Export constants
2
+ export * from './util/constants';
3
+ export * from './util/dateUtils';
4
+ export { isDateString, dateToString, stringToDate, getCurrentDateCompacted, FORMATS } from './util/dateUtils';
5
+ export * from './util/numberUtils';
6
+
7
+ // Export all DTOs
8
+ export * from './dtos/common/base.request.dto';
9
+ export * from './dtos/common/paginated.request.dto';
10
+ export * from './dtos/common/paginated.response.dto';
11
+ export * from './dtos/campaign.request.dto';
12
+ export * from './dtos/category.request.dto';
13
+ export * from './dtos/csv.request.dto';
14
+ export * from './dtos/csv.response.dto';
15
+ export * from './dtos/csvRow.request.dto';
16
+ // export * from './dtos/emailTemplate.request.dto'; // Empty file
17
+ export * from './dtos/empTransactions.request.dto';
18
+ export * from './dtos/event.request.dto';
19
+ export * from './dtos/field.request.dto';
20
+ export * from './dtos/hook.request.dto';
21
+ export * from './dtos/hookProfile.request.dto';
22
+ export * from './dtos/hookOutbox.request.dto';
23
+ export * from './dtos/lead.request.dto';
24
+ export * from './dtos/mid.request.dto';
25
+ export * from './dtos/adapter.request.dto';
26
+ export * from './dtos/provider.request.dto';
27
+ export * from './dtos/offer.request.dto';
28
+ export * from './dtos/order.request.dto';
29
+ export * from './dtos/product.request.dto';
30
+ export * from './dtos/subscription.request.dto';
31
+ export * from './dtos/transaction.request.dto';
32
+ export * from './dtos/transactionError.request.dto';
33
+
34
+ // Export all Models
35
+ export * from './model/campaign.model';
36
+ export * from './model/category.model';
37
+ export * from './model/csv.model';
38
+ // export * from './model/emailTemplate.model'; // Empty file
39
+ export * from './model/empTransactions.model';
40
+ export * from './model/event.model';
41
+ export * from './model/field.model';
42
+ export * from './model/gateway.model';
43
+ export * from './model/hook.model';
44
+ export * from './model/hookOutbox.model';
45
+ export * from './model/hookProfile.model';
46
+ export * from './model/lead.model';
47
+ export * from './model/mid.model';
48
+ export * from './model/offer.model';
49
+ export * from './model/order.model';
50
+ export * from './model/paymentData.model';
51
+ export * from './model/product.model';
52
+ export * from './model/recurringSettingConfig.model';
53
+ export * from './model/subscription.model';
54
+ export * from './model/subscriptionStepdown.model';
55
+ export * from './model/transaction.model';
56
+ export * from './model/transactionError.model';
57
+
58
+ // Export Gateway Adapters Models
59
+ export * from './gateways/adapters/model/transactionEmp.model';
60
+ export * from './gateways/adapters/model/transactionNovalNet.model';
61
+ export * from './gateways/adapters/model/transactionFinXP.model';
62
+
63
+ // Export Gateway Adapters DTOs
64
+ export * from './gateways/adapters/dtos/transaction-emp.request.dto';
65
+ export * from './gateways/adapters/dtos/transaction-novalnet.request.dto';
66
+ export * from './gateways/adapters/dtos/transaction-finxp.request.dto';
67
+
68
+ // Export Gateway Providers Models
69
+ export * from './gateways/providers/model/genesis.constants';
70
+ export * from './gateways/providers/model/genesis.model';
71
+ export * from './gateways/providers/model/novalNetManual.model';
72
+ export * from './gateways/providers/model/finXpManual.model';
@@ -0,0 +1,25 @@
1
+ import { PaymentMethodType } from "./paymentData.model";
2
+ import type { HookProfile } from "./hookProfile.model";
3
+ import type { Offer } from "./offer.model";
4
+
5
+ export interface Campaign {
6
+ id: number;
7
+ name: string;
8
+ description?: string;
9
+ categoryId?: number;
10
+ paymentMethod?: PaymentMethodType;
11
+ trafficSourceId?: number;
12
+ offers?: Offer[];
13
+ hookProfiles?: HookProfile[];
14
+ hookProfileIds?: number[];
15
+ createdAt: Date;
16
+ updatedAt?: Date;
17
+ }
18
+
19
+ export interface CampaignHookProfile {
20
+ id: number;
21
+ campaignId: number;
22
+ hookProfileId: number;
23
+ createdAt: Date;
24
+ updatedAt?: Date;
25
+ }
@@ -0,0 +1,7 @@
1
+ export interface Category {
2
+ id?: number;
3
+ name?: string;
4
+ description?: string;
5
+ createdAt?: Date;
6
+ updatedAt?: Date;
7
+ }
@@ -0,0 +1,80 @@
1
+ import { CSV_TYPES, CSVRowStatusTypes, CSVStatusTypes } from "../util/constants";
2
+
3
+ export interface CSV {
4
+ id?: number;
5
+ fileName: string;
6
+ uploadedFileUrl: string;
7
+ fileRows?: number;
8
+ doneRows?: number;
9
+ failedRows?: number;
10
+ status: CSVStatusTypes; // UPLOADED | PROCESSING | DONE
11
+ type?: CSV_TYPES;
12
+ startProcessingAt?: Date | null,
13
+ endProcessingAt?: Date | null,
14
+ jobId?: string,
15
+ csvRows?: CSVRow[];
16
+ createdAt?: Date;
17
+ updatedAt?: Date;
18
+ }
19
+
20
+ export interface CSVRow {
21
+ id?: number;
22
+ csvId?: number;
23
+ csv?: CSV;
24
+ rowIndex?: number; // 1..N (data row index)
25
+ payload?: Record<string, any>; // the row content (firstName, email, etc)
26
+ status?: CSVRowStatusTypes; // -- QUEUED | DONE | FAILED
27
+ errorMessage?: string;
28
+ createdAt?: Date;
29
+ updatedAt?: Date;
30
+ }
31
+
32
+ // firstName,lastName,address1,address2,city,state,country,zipCode,phone,email,iban,bic,offerId
33
+ export interface OrderCSVRow {
34
+ csvId?: number;
35
+ id?: number;
36
+ firstName?: string;
37
+ lastName?: string;
38
+ address1?: string;
39
+ address2?: string;
40
+ city?: string;
41
+ state?: string;
42
+ country?: string;
43
+ zipCode?: string;
44
+ phone?: string;
45
+ email?: string;
46
+ iban?: string;
47
+ bic?: string;
48
+ offerId?: number;
49
+ campaignId?: number;
50
+ createdAt?: Date;
51
+ updatedAt?: Date;
52
+ }
53
+
54
+ export const ordersCSVColumnsMapper: Partial<Record<keyof OrderCSVRow, string>> = {
55
+ firstName: "firstName",
56
+ lastName: "lastName",
57
+ address1: "address1",
58
+ address2: "address2",
59
+ city: "city",
60
+ state: "state",
61
+ country: "country",
62
+ zipCode: "zipCode",
63
+ phone: "phone",
64
+ email: "email",
65
+ iban: "iban",
66
+ bic: "bic",
67
+ offerId: "offerId",
68
+ campaignId: "campaignId",
69
+ };
70
+ export const ordersCSVColumnKeys = Object.keys(ordersCSVColumnsMapper);
71
+ export const ordersCSVColumnValues = Object.values(ordersCSVColumnsMapper);
72
+
73
+ export interface SubscriptionIdCSVRow {
74
+ subscriptionId: number;
75
+ };
76
+
77
+ export const subscriptionIdCSVColumnMapper: Partial<Record<keyof SubscriptionIdCSVRow, string>> = {
78
+ subscriptionId: "subscriptionId"
79
+ };
80
+ export const subscriptionIdCSVColumnKeys = Object.keys(subscriptionIdCSVColumnMapper);
File without changes
@@ -0,0 +1,9 @@
1
+ export interface EMPTransaction {
2
+ id: number;
3
+ orderId?: number;
4
+ customerId?: number;
5
+ amount?: number;
6
+ currency?: string;
7
+ createdAt?: Date;
8
+ updatedAt?: Date;
9
+ }
@@ -0,0 +1,6 @@
1
+ export interface Event {
2
+ id?: string;
3
+ name?: string;
4
+ createdAt: Date;
5
+ updatedAt?: Date;
6
+ }