@temboplus/afloat 0.1.81 → 0.2.0-beta.2

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 (413) hide show
  1. package/README.md +246 -42
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +10 -0
  5. package/dist/index.esm.js +2 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/lib/api/base-repository.d.ts +177 -0
  8. package/dist/lib/api/index.d.ts +1 -0
  9. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  10. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  11. package/dist/lib/error/error.utils.d.ts +22 -0
  12. package/dist/lib/error/index.d.ts +3 -0
  13. package/dist/lib/query/index.d.ts +4 -0
  14. package/dist/lib/query/pagination/pagination.d.ts +73 -0
  15. package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
  16. package/dist/lib/query/query.builder.d.ts +75 -0
  17. package/dist/lib/query/query.types.d.ts +36 -0
  18. package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
  19. package/dist/modules/auth/auth.repository.d.ts +83 -0
  20. package/dist/modules/auth/company-membership.model.d.ts +171 -0
  21. package/dist/modules/auth/index.d.ts +3 -0
  22. package/dist/modules/auth/user.model.d.ts +363 -0
  23. package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
  24. package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
  25. package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
  26. package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
  27. package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
  28. package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
  29. package/dist/modules/beneficiary/index.d.ts +6 -0
  30. package/dist/modules/login/index.d.ts +4 -0
  31. package/dist/modules/login/login.api-contract.d.ts +51 -0
  32. package/dist/modules/login/login.dtos.d.ts +85 -0
  33. package/dist/modules/login/login.model.d.ts +168 -0
  34. package/dist/modules/login/login.repository.d.ts +58 -0
  35. package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
  36. package/dist/modules/payout/index.d.ts +5 -0
  37. package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
  38. package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
  39. package/dist/modules/payout/payout.dtos.d.ts +607 -0
  40. package/dist/modules/payout/payout.model.d.ts +383 -0
  41. package/dist/modules/payout/payout.query.d.ts +134 -0
  42. package/dist/modules/payout/payout.repository.d.ts +204 -0
  43. package/dist/modules/profile/index.d.ts +3 -0
  44. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
  45. package/dist/modules/profile/profile.dtos.d.ts +80 -0
  46. package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
  47. package/dist/modules/profile/profile.repository.d.ts +56 -0
  48. package/dist/modules/team-member/index.d.ts +4 -0
  49. package/dist/modules/team-member/role.model.d.ts +61 -0
  50. package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
  51. package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
  52. package/dist/modules/team-member/team-member.model.d.ts +237 -0
  53. package/dist/modules/team-member/team-member.repository.d.ts +179 -0
  54. package/dist/modules/wallet/index.d.ts +6 -0
  55. package/dist/modules/wallet/narration.model.d.ts +225 -0
  56. package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
  57. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
  58. package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
  59. package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
  60. package/dist/modules/wallet/wallet.query.d.ts +95 -0
  61. package/dist/modules/wallet/wallet.repository.d.ts +205 -0
  62. package/dist/modules/wallet/wallet.utils.d.ts +17 -0
  63. package/package.json +49 -23
  64. package/LICENSE +0 -7
  65. package/esm/mod.d.ts +0 -8
  66. package/esm/mod.d.ts.map +0 -1
  67. package/esm/mod.js +0 -7
  68. package/esm/package.json +0 -3
  69. package/esm/src/errors/api_error.d.ts.map +0 -1
  70. package/esm/src/errors/api_error.js +0 -90
  71. package/esm/src/errors/index.d.ts +0 -3
  72. package/esm/src/errors/index.d.ts.map +0 -1
  73. package/esm/src/errors/index.js +0 -2
  74. package/esm/src/errors/permission_error.d.ts +0 -48
  75. package/esm/src/errors/permission_error.d.ts.map +0 -1
  76. package/esm/src/errors/permission_error.js +0 -70
  77. package/esm/src/features/admin/contract.d.ts.map +0 -1
  78. package/esm/src/features/admin/contract.js +0 -210
  79. package/esm/src/features/admin/index.d.ts +0 -4
  80. package/esm/src/features/admin/index.d.ts.map +0 -1
  81. package/esm/src/features/admin/index.js +0 -3
  82. package/esm/src/features/admin/repository.d.ts +0 -114
  83. package/esm/src/features/admin/repository.d.ts.map +0 -1
  84. package/esm/src/features/admin/repository.js +0 -248
  85. package/esm/src/features/admin/schemas.d.ts +0 -146
  86. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  87. package/esm/src/features/admin/schemas.js +0 -206
  88. package/esm/src/features/auth/access/contract.d.ts +0 -14
  89. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/contract.js +0 -14
  91. package/esm/src/features/auth/access/repository.d.ts +0 -11
  92. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  93. package/esm/src/features/auth/access/repository.js +0 -25
  94. package/esm/src/features/auth/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/contract.js +0 -43
  96. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  97. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/contract.js +0 -17
  99. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  100. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  101. package/esm/src/features/auth/identity/repository.js +0 -30
  102. package/esm/src/features/auth/index.d.ts +0 -6
  103. package/esm/src/features/auth/index.d.ts.map +0 -1
  104. package/esm/src/features/auth/index.js +0 -5
  105. package/esm/src/features/auth/manager.d.ts +0 -105
  106. package/esm/src/features/auth/manager.d.ts.map +0 -1
  107. package/esm/src/features/auth/manager.js +0 -181
  108. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  109. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/contract.js +0 -14
  111. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  112. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/profile/repository.js +0 -25
  114. package/esm/src/features/auth/repository.d.ts +0 -30
  115. package/esm/src/features/auth/repository.d.ts.map +0 -1
  116. package/esm/src/features/auth/repository.js +0 -69
  117. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  118. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  119. package/esm/src/features/auth/storage/client_store.js +0 -46
  120. package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
  121. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  122. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  123. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  124. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  125. package/esm/src/features/auth/storage/server_store.js +0 -34
  126. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  127. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  128. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  129. package/esm/src/features/auth/storage/types.d.ts +0 -42
  130. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  131. package/esm/src/features/auth/storage/types.js +0 -1
  132. package/esm/src/features/contact/contract.d.ts +0 -170
  133. package/esm/src/features/contact/contract.d.ts.map +0 -1
  134. package/esm/src/features/contact/contract.js +0 -49
  135. package/esm/src/features/contact/index.d.ts +0 -2
  136. package/esm/src/features/contact/index.d.ts.map +0 -1
  137. package/esm/src/features/contact/index.js +0 -1
  138. package/esm/src/features/contact/repository.d.ts +0 -58
  139. package/esm/src/features/contact/repository.d.ts.map +0 -1
  140. package/esm/src/features/contact/repository.js +0 -108
  141. package/esm/src/features/payout/contract.d.ts.map +0 -1
  142. package/esm/src/features/payout/contract.js +0 -75
  143. package/esm/src/features/payout/index.d.ts +0 -2
  144. package/esm/src/features/payout/index.d.ts.map +0 -1
  145. package/esm/src/features/payout/index.js +0 -1
  146. package/esm/src/features/payout/repository.d.ts +0 -67
  147. package/esm/src/features/payout/repository.d.ts.map +0 -1
  148. package/esm/src/features/payout/repository.js +0 -179
  149. package/esm/src/features/wallet/contract.d.ts +0 -137
  150. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  151. package/esm/src/features/wallet/contract.js +0 -38
  152. package/esm/src/features/wallet/index.d.ts +0 -2
  153. package/esm/src/features/wallet/index.d.ts.map +0 -1
  154. package/esm/src/features/wallet/index.js +0 -1
  155. package/esm/src/features/wallet/repository.d.ts +0 -57
  156. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  157. package/esm/src/features/wallet/repository.js +0 -93
  158. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  159. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  160. package/esm/src/models/contact/derivatives/contact.js +0 -266
  161. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  162. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  163. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  164. package/esm/src/models/contact/index.d.ts +0 -5
  165. package/esm/src/models/contact/index.d.ts.map +0 -1
  166. package/esm/src/models/contact/index.js +0 -4
  167. package/esm/src/models/contact/schemas.d.ts +0 -66
  168. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  169. package/esm/src/models/contact/schemas.js +0 -64
  170. package/esm/src/models/contact/validation.d.ts +0 -37
  171. package/esm/src/models/contact/validation.d.ts.map +0 -1
  172. package/esm/src/models/contact/validation.js +0 -146
  173. package/esm/src/models/index.d.ts +0 -7
  174. package/esm/src/models/index.d.ts.map +0 -1
  175. package/esm/src/models/index.js +0 -6
  176. package/esm/src/models/payout/api.d.ts +0 -29
  177. package/esm/src/models/payout/api.d.ts.map +0 -1
  178. package/esm/src/models/payout/api.js +0 -1
  179. package/esm/src/models/payout/channel.d.ts +0 -58
  180. package/esm/src/models/payout/channel.d.ts.map +0 -1
  181. package/esm/src/models/payout/channel.js +0 -53
  182. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  183. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  184. package/esm/src/models/payout/derivatives/payout.js +0 -271
  185. package/esm/src/models/payout/index.d.ts +0 -7
  186. package/esm/src/models/payout/index.d.ts.map +0 -1
  187. package/esm/src/models/payout/index.js +0 -6
  188. package/esm/src/models/payout/narration.d.ts +0 -164
  189. package/esm/src/models/payout/narration.d.ts.map +0 -1
  190. package/esm/src/models/payout/narration.js +0 -308
  191. package/esm/src/models/payout/schemas.d.ts +0 -156
  192. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  193. package/esm/src/models/payout/schemas.js +0 -105
  194. package/esm/src/models/payout/status.d.ts +0 -33
  195. package/esm/src/models/payout/status.d.ts.map +0 -1
  196. package/esm/src/models/payout/status.js +0 -34
  197. package/esm/src/models/permission.d.ts.map +0 -1
  198. package/esm/src/models/permission.js +0 -50
  199. package/esm/src/models/role.d.ts +0 -21
  200. package/esm/src/models/role.d.ts.map +0 -1
  201. package/esm/src/models/role.js +0 -73
  202. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  203. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  204. package/esm/src/models/user/authenticated-user.js +0 -226
  205. package/esm/src/models/user/index.d.ts +0 -4
  206. package/esm/src/models/user/index.d.ts.map +0 -1
  207. package/esm/src/models/user/index.js +0 -3
  208. package/esm/src/models/user/managed-user.d.ts +0 -108
  209. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  210. package/esm/src/models/user/managed-user.js +0 -255
  211. package/esm/src/models/user/profile.d.ts +0 -161
  212. package/esm/src/models/user/profile.d.ts.map +0 -1
  213. package/esm/src/models/user/profile.js +0 -334
  214. package/esm/src/models/wallet/index.d.ts +0 -4
  215. package/esm/src/models/wallet/index.d.ts.map +0 -1
  216. package/esm/src/models/wallet/index.js +0 -3
  217. package/esm/src/models/wallet/schemas.d.ts +0 -95
  218. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  219. package/esm/src/models/wallet/schemas.js +0 -35
  220. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  221. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  222. package/esm/src/models/wallet/statement_entry.js +0 -255
  223. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  224. package/esm/src/models/wallet/wallet.js +0 -279
  225. package/esm/src/shared/base_repository.d.ts +0 -80
  226. package/esm/src/shared/base_repository.d.ts.map +0 -1
  227. package/esm/src/shared/base_repository.js +0 -153
  228. package/esm/src/shared/common_responses.d.ts +0 -13
  229. package/esm/src/shared/common_responses.d.ts.map +0 -1
  230. package/esm/src/shared/common_responses.js +0 -10
  231. package/esm/src/shared/index.d.ts +0 -3
  232. package/esm/src/shared/index.d.ts.map +0 -1
  233. package/esm/src/shared/index.js +0 -2
  234. package/esm/src/shared/token_required_repository.d.ts +0 -78
  235. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  236. package/esm/src/shared/token_required_repository.js +0 -128
  237. package/script/mod.d.ts +0 -8
  238. package/script/mod.d.ts.map +0 -1
  239. package/script/mod.js +0 -23
  240. package/script/npm/src/mod.d.ts +0 -8
  241. package/script/npm/src/mod.d.ts.map +0 -1
  242. package/script/npm/src/mod.js +0 -23
  243. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  244. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  245. package/script/npm/src/src/errors/api_error.js +0 -94
  246. package/script/npm/src/src/errors/index.d.ts +0 -3
  247. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  248. package/script/npm/src/src/errors/index.js +0 -18
  249. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  250. package/script/npm/src/src/errors/permission_error.js +0 -74
  251. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  252. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  253. package/script/npm/src/src/features/admin/contract.js +0 -213
  254. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  255. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  256. package/script/npm/src/src/features/admin/index.js +0 -19
  257. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  258. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  259. package/script/npm/src/src/features/admin/repository.js +0 -252
  260. package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
  261. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  262. package/script/npm/src/src/features/admin/schemas.js +0 -209
  263. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  264. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  265. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  266. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  267. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  268. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  269. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  270. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  271. package/script/npm/src/src/features/auth/contract.js +0 -46
  272. package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
  273. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  274. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  275. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  276. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  277. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  278. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  279. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  280. package/script/npm/src/src/features/auth/index.js +0 -21
  281. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  282. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  283. package/script/npm/src/src/features/auth/manager.js +0 -185
  284. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  285. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  286. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  287. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  288. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  289. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  290. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  291. package/script/npm/src/src/features/auth/repository.js +0 -73
  292. package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
  293. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  294. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  295. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  296. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  297. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  298. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  299. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  300. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  301. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  302. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  303. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  304. package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
  305. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  306. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  307. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  308. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  309. package/script/npm/src/src/features/contact/contract.js +0 -52
  310. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  311. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  312. package/script/npm/src/src/features/contact/index.js +0 -17
  313. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  314. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  315. package/script/npm/src/src/features/contact/repository.js +0 -112
  316. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  317. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  318. package/script/npm/src/src/features/payout/contract.js +0 -78
  319. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  320. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  321. package/script/npm/src/src/features/payout/index.js +0 -17
  322. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  323. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  324. package/script/npm/src/src/features/payout/repository.js +0 -183
  325. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  326. package/script/npm/src/src/features/wallet/contract.js +0 -41
  327. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  328. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  329. package/script/npm/src/src/features/wallet/index.js +0 -17
  330. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  331. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  332. package/script/npm/src/src/features/wallet/repository.js +0 -97
  333. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
  334. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  335. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  336. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  337. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  338. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  339. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  340. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  341. package/script/npm/src/src/models/contact/index.js +0 -20
  342. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  343. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  344. package/script/npm/src/src/models/contact/schemas.js +0 -67
  345. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  346. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  347. package/script/npm/src/src/models/contact/validation.js +0 -153
  348. package/script/npm/src/src/models/index.d.ts +0 -7
  349. package/script/npm/src/src/models/index.d.ts.map +0 -1
  350. package/script/npm/src/src/models/index.js +0 -22
  351. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  352. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  353. package/script/npm/src/src/models/payout/api.js +0 -2
  354. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  355. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  356. package/script/npm/src/src/models/payout/channel.js +0 -56
  357. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
  358. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  359. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
  360. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  361. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  362. package/script/npm/src/src/models/payout/index.js +0 -22
  363. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  364. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  365. package/script/npm/src/src/models/payout/narration.js +0 -312
  366. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  367. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  368. package/script/npm/src/src/models/payout/schemas.js +0 -108
  369. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  370. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  371. package/script/npm/src/src/models/payout/status.js +0 -37
  372. package/script/npm/src/src/models/permission.d.ts +0 -55
  373. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  374. package/script/npm/src/src/models/permission.js +0 -53
  375. package/script/npm/src/src/models/role.d.ts +0 -21
  376. package/script/npm/src/src/models/role.d.ts.map +0 -1
  377. package/script/npm/src/src/models/role.js +0 -77
  378. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  379. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  380. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  381. package/script/npm/src/src/models/user/index.d.ts +0 -4
  382. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  383. package/script/npm/src/src/models/user/index.js +0 -19
  384. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  385. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  386. package/script/npm/src/src/models/user/managed-user.js +0 -260
  387. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  388. package/script/npm/src/src/models/user/profile.js +0 -338
  389. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  390. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  391. package/script/npm/src/src/models/wallet/index.js +0 -19
  392. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  393. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  394. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  395. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  396. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  397. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  398. package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
  399. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  400. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  401. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  402. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  403. package/script/npm/src/src/shared/base_repository.js +0 -157
  404. package/script/npm/src/src/shared/common_responses.d.ts +0 -13
  405. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  406. package/script/npm/src/src/shared/common_responses.js +0 -13
  407. package/script/npm/src/src/shared/index.d.ts +0 -3
  408. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  409. package/script/npm/src/src/shared/index.js +0 -18
  410. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  411. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  412. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  413. package/script/package.json +0 -3
@@ -1,164 +0,0 @@
1
- import { BankContactInfo, type ContactInfo, MobileContactInfo } from "@temboplus/afloat";
2
- /** Prefix for Ecobank mobile transfer narrations */
3
- export declare const ECOBANK_PREFIX = "MOBILE TRANSFER ";
4
- /** Current format prefix for bank payout narrations */
5
- export declare const BANK_NARR_PREFIX: string;
6
- /** Legacy format prefix for bank payout narrations */
7
- export declare const LEGACY_BANK_NARR_PREFIX: string;
8
- /** Current format prefix for mobile money payout narrations */
9
- export declare const MOBILE_NARR_PREFIX: string;
10
- /** Legacy format prefix for mobile money payout narrations */
11
- export declare const LEGACY_MOBILE_NARR_PREFIX: string;
12
- /**
13
- * Handles payout narration generation and parsing for the Afloat platform.
14
- *
15
- * This class provides functionality to:
16
- * - Generate standardized default narrations for mobile money and bank payouts
17
- * - Parse existing narrations to extract contact information
18
- * - Format narration text for different display contexts
19
- * - Handle both current and legacy narration formats for backward compatibility
20
- *
21
- * @example
22
- * ```typescript
23
- * // Generate default narration for a mobile contact
24
- * const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
25
- * const narration = Narration.generateDefaultPayoutNarration(mobileContact);
26
- * // Result: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
27
- *
28
- * // Parse narration to extract contact details
29
- * const existingNarration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
30
- * const contact = existingNarration.getContactDetails();
31
- * ```
32
- */
33
- export declare class Narration {
34
- /** The raw narration text */
35
- text: string;
36
- /**
37
- * Creates a new Narration instance.
38
- *
39
- * @param text - The narration text to wrap
40
- */
41
- constructor(text: string);
42
- /**
43
- * Returns a medium-length version of the narration text suitable for table columns.
44
- * Truncates to 47 characters + "..." if longer than 50 characters.
45
- *
46
- * @returns Truncated narration text for medium-width displays
47
- */
48
- get mediumText(): string;
49
- /**
50
- * Returns a short version of the narration text suitable for compact displays.
51
- * Truncates to 32 characters + "..." if longer than 35 characters.
52
- *
53
- * @returns Truncated narration text for narrow displays
54
- */
55
- get shortText(): string;
56
- /**
57
- * Generates a default payout narration based on contact information.
58
- * Automatically determines whether to generate mobile or bank narration based on contact type.
59
- *
60
- * @param data - Contact information (either MobileContactInfo or BankContactInfo)
61
- * @returns Formatted default narration string in uppercase, or empty string if contact type is unrecognized
62
- *
63
- * @example
64
- * ```typescript
65
- * const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
66
- * const narration = Narration.generateDefaultPayoutNarration(mobileContact);
67
- * // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
68
- *
69
- * const bankContact = new BankContactInfo("Jane Smith", bank, "1234567890");
70
- * const narration = Narration.generateDefaultPayoutNarration(bankContact);
71
- * // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
72
- * ```
73
- */
74
- static generateDefaultPayoutNarration(data: ContactInfo): string;
75
- /**
76
- * Generates a standardized mobile money payout narration.
77
- * Format: "PAYOUT TO MOBILE {phone_number} {name}"
78
- *
79
- * @param data - Mobile contact information containing phone number and name
80
- * @returns Formatted mobile payout narration in uppercase
81
- *
82
- * @example
83
- * ```typescript
84
- * const contact = new MobileContactInfo("John Doe", phoneNumber);
85
- * const narration = Narration.generateMobilePayoutNarration(contact);
86
- * // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
87
- * ```
88
- */
89
- static generateMobilePayoutNarration(data: MobileContactInfo): string;
90
- /**
91
- * Generates a standardized bank payout narration.
92
- * Format: "PAYOUT TO BANK {bank_short_name} {account_number} {account_name}"
93
- *
94
- * @param data - Bank contact information containing bank details, account number, and account name
95
- * @returns Formatted bank payout narration in uppercase
96
- *
97
- * @example
98
- * ```typescript
99
- * const contact = new BankContactInfo("Jane Smith", bank, "1234567890");
100
- * const narration = Narration.generateBankPayoutNarration(contact);
101
- * // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
102
- * ```
103
- */
104
- static generateBankPayoutNarration(data: BankContactInfo): string;
105
- /**
106
- * Extracts contact information from the narration text.
107
- * Attempts to parse both bank and mobile contact details from the narration.
108
- *
109
- * @returns Parsed ContactInfo (BankContactInfo or MobileContactInfo) if successful, undefined otherwise
110
- *
111
- * @example
112
- * ```typescript
113
- * const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
114
- * const contact = narration.getContactDetails();
115
- * // Returns: BankContactInfo instance with parsed details
116
- * ```
117
- */
118
- getContactDetails: () => ContactInfo | undefined;
119
- /**
120
- * Extracts bank contact information from the narration text.
121
- * Handles both current format ("PAYOUT TO BANK") and legacy format ("TO_BANK").
122
- * Also handles Ecobank-prefixed narrations by stripping the prefix.
123
- *
124
- * Current format: "PAYOUT TO BANK {bank_name} {account_number} {account_name}"
125
- * Legacy format: "TO_BANK => {json_object}"
126
- *
127
- * @returns BankContactInfo if parsing is successful, undefined otherwise
128
- *
129
- * @example
130
- * ```typescript
131
- * // Current format
132
- * const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
133
- * const contact = narration.getBankContactDetails();
134
- *
135
- * // Legacy format
136
- * const legacyNarration = new Narration('TO_BANK => {"account_number":"1234567890","account_name":"Jane Smith","swift_code":"CORUTZTZ"}');
137
- * const legacyContact = narration.getBankContactDetails();
138
- * ```
139
- */
140
- getBankContactDetails: () => BankContactInfo | undefined;
141
- /**
142
- * Extracts mobile contact information from the narration text.
143
- * Handles both current format ("PAYOUT TO MOBILE") and legacy format ("TO_MOMO").
144
- * Also handles Ecobank-prefixed narrations by stripping the prefix.
145
- *
146
- * Current format: "PAYOUT TO MOBILE {phone_number} {name}"
147
- * Legacy format: "TO_MOMO => {json_object}"
148
- *
149
- * @returns MobileContactInfo if parsing is successful, undefined otherwise
150
- *
151
- * @example
152
- * ```typescript
153
- * // Current format
154
- * const narration = new Narration("PAYOUT TO MOBILE +255123456789 John Doe");
155
- * const contact = narration.getMobileContactDetails();
156
- *
157
- * // Legacy format
158
- * const legacyNarration = new Narration('TO_MOMO => {"phone_number":"+255123456789","username":"John Doe"}');
159
- * const legacyContact = narration.getMobileContactDetails();
160
- * ```
161
- */
162
- getMobileContactDetails: () => MobileContactInfo | undefined;
163
- }
164
- //# sourceMappingURL=narration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narration.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/narration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAG3B,oDAAoD;AACpD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,EAAE,MAAyB,CAAC;AACzD,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,EAAE,MAA2B,CAAC;AAC7D,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,MAAkB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAS;IACpB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAIxB;;;;;OAKG;IACH,IAAI,UAAU,WAMb;IAED;;;;;OAKG;IACH,IAAI,SAAS,WAMZ;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAUhE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,6BAA6B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM;IAKrE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAKjE;;;;;;;;;;;;OAYG;IACH,iBAAiB,QAAO,WAAW,GAAG,SAAS,CAM7C;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,qBAAqB,QAAO,eAAe,GAAG,SAAS,CAqCrD;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAAuB,QAAO,iBAAiB,GAAG,SAAS,CAuCzD;CACH"}
@@ -1,312 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Narration = exports.LEGACY_MOBILE_NARR_PREFIX = exports.MOBILE_NARR_PREFIX = exports.LEGACY_BANK_NARR_PREFIX = exports.BANK_NARR_PREFIX = exports.ECOBANK_PREFIX = void 0;
4
- const afloat_1 = require("@temboplus/afloat");
5
- const frontend_core_1 = require("@temboplus/frontend-core");
6
- /** Prefix for Ecobank mobile transfer narrations */
7
- exports.ECOBANK_PREFIX = "MOBILE TRANSFER ";
8
- /** Current format prefix for bank payout narrations */
9
- exports.BANK_NARR_PREFIX = "PAYOUT TO BANK";
10
- /** Legacy format prefix for bank payout narrations */
11
- exports.LEGACY_BANK_NARR_PREFIX = "TO_BANK";
12
- /** Current format prefix for mobile money payout narrations */
13
- exports.MOBILE_NARR_PREFIX = "PAYOUT TO MOBILE";
14
- /** Legacy format prefix for mobile money payout narrations */
15
- exports.LEGACY_MOBILE_NARR_PREFIX = "TO_MOMO";
16
- /**
17
- * Handles payout narration generation and parsing for the Afloat platform.
18
- *
19
- * This class provides functionality to:
20
- * - Generate standardized default narrations for mobile money and bank payouts
21
- * - Parse existing narrations to extract contact information
22
- * - Format narration text for different display contexts
23
- * - Handle both current and legacy narration formats for backward compatibility
24
- *
25
- * @example
26
- * ```typescript
27
- * // Generate default narration for a mobile contact
28
- * const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
29
- * const narration = Narration.generateDefaultPayoutNarration(mobileContact);
30
- * // Result: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
31
- *
32
- * // Parse narration to extract contact details
33
- * const existingNarration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
34
- * const contact = existingNarration.getContactDetails();
35
- * ```
36
- */
37
- class Narration {
38
- /**
39
- * Creates a new Narration instance.
40
- *
41
- * @param text - The narration text to wrap
42
- */
43
- constructor(text) {
44
- /** The raw narration text */
45
- Object.defineProperty(this, "text", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: void 0
50
- });
51
- /**
52
- * Extracts contact information from the narration text.
53
- * Attempts to parse both bank and mobile contact details from the narration.
54
- *
55
- * @returns Parsed ContactInfo (BankContactInfo or MobileContactInfo) if successful, undefined otherwise
56
- *
57
- * @example
58
- * ```typescript
59
- * const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
60
- * const contact = narration.getContactDetails();
61
- * // Returns: BankContactInfo instance with parsed details
62
- * ```
63
- */
64
- Object.defineProperty(this, "getContactDetails", {
65
- enumerable: true,
66
- configurable: true,
67
- writable: true,
68
- value: () => {
69
- const result1 = this.getBankContactDetails();
70
- const result2 = this.getMobileContactDetails();
71
- if (result1)
72
- return result1;
73
- if (result2)
74
- return result2;
75
- }
76
- });
77
- /**
78
- * Extracts bank contact information from the narration text.
79
- * Handles both current format ("PAYOUT TO BANK") and legacy format ("TO_BANK").
80
- * Also handles Ecobank-prefixed narrations by stripping the prefix.
81
- *
82
- * Current format: "PAYOUT TO BANK {bank_name} {account_number} {account_name}"
83
- * Legacy format: "TO_BANK => {json_object}"
84
- *
85
- * @returns BankContactInfo if parsing is successful, undefined otherwise
86
- *
87
- * @example
88
- * ```typescript
89
- * // Current format
90
- * const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
91
- * const contact = narration.getBankContactDetails();
92
- *
93
- * // Legacy format
94
- * const legacyNarration = new Narration('TO_BANK => {"account_number":"1234567890","account_name":"Jane Smith","swift_code":"CORUTZTZ"}');
95
- * const legacyContact = narration.getBankContactDetails();
96
- * ```
97
- */
98
- Object.defineProperty(this, "getBankContactDetails", {
99
- enumerable: true,
100
- configurable: true,
101
- writable: true,
102
- value: () => {
103
- let narr = this.text.trim();
104
- if (narr.startsWith(exports.ECOBANK_PREFIX)) {
105
- narr = narr.substring(exports.ECOBANK_PREFIX.length);
106
- }
107
- try {
108
- // Handle legacy format: "TO_BANK => {json}"
109
- if (narr.startsWith(exports.LEGACY_BANK_NARR_PREFIX)) {
110
- const json = narr.split("=>")[1].trim();
111
- const map = JSON.parse(json);
112
- const accNo = map["account_number"];
113
- const accName = map["account_name"];
114
- const code = map["swift_code"];
115
- const bank = frontend_core_1.Bank.fromSWIFTCode(code);
116
- if (accNo && accName && bank) {
117
- return new afloat_1.BankContactInfo(accName, bank, accNo);
118
- }
119
- }
120
- // Handle current format: "PAYOUT TO BANK {bank} {accNo} {accName}"
121
- if (narr.startsWith(exports.BANK_NARR_PREFIX)) {
122
- const data = narr.replace(exports.BANK_NARR_PREFIX, "").trim().split(" ");
123
- const bank = frontend_core_1.Bank.fromBankName(data[0]);
124
- const accNo = data[1];
125
- const accName = data.slice(2).map(capitalizeFirstLetter).join(" ");
126
- if (accName && accNo && bank) {
127
- return new afloat_1.BankContactInfo(accName, bank, accNo);
128
- }
129
- }
130
- }
131
- catch (_) {
132
- return undefined;
133
- }
134
- }
135
- });
136
- /**
137
- * Extracts mobile contact information from the narration text.
138
- * Handles both current format ("PAYOUT TO MOBILE") and legacy format ("TO_MOMO").
139
- * Also handles Ecobank-prefixed narrations by stripping the prefix.
140
- *
141
- * Current format: "PAYOUT TO MOBILE {phone_number} {name}"
142
- * Legacy format: "TO_MOMO => {json_object}"
143
- *
144
- * @returns MobileContactInfo if parsing is successful, undefined otherwise
145
- *
146
- * @example
147
- * ```typescript
148
- * // Current format
149
- * const narration = new Narration("PAYOUT TO MOBILE +255123456789 John Doe");
150
- * const contact = narration.getMobileContactDetails();
151
- *
152
- * // Legacy format
153
- * const legacyNarration = new Narration('TO_MOMO => {"phone_number":"+255123456789","username":"John Doe"}');
154
- * const legacyContact = narration.getMobileContactDetails();
155
- * ```
156
- */
157
- Object.defineProperty(this, "getMobileContactDetails", {
158
- enumerable: true,
159
- configurable: true,
160
- writable: true,
161
- value: () => {
162
- let narr = this.text.trim();
163
- if (narr.startsWith(exports.ECOBANK_PREFIX)) {
164
- narr = narr.substring(exports.ECOBANK_PREFIX.length);
165
- }
166
- try {
167
- // Handle legacy format: "TO_MOMO => {json}"
168
- if (narr.startsWith(exports.LEGACY_MOBILE_NARR_PREFIX)) {
169
- const json = narr.split("=>")[1].trim();
170
- const map = JSON.parse(json);
171
- const phoneNumber = frontend_core_1.TZPhoneNumber.from(map["phone_number"]);
172
- let username = map["username"];
173
- if (username === undefined)
174
- username = "";
175
- // Clean up username: remove extra spaces and capitalize each word
176
- let names = username.split(" ");
177
- names = names.filter((n) => n.trim().length > 0);
178
- username = names.map(capitalizeFirstLetter).join(" ");
179
- if (phoneNumber && username) {
180
- return new afloat_1.MobileContactInfo(username, phoneNumber);
181
- }
182
- }
183
- // Handle current format: "PAYOUT TO MOBILE {phone} {username}"
184
- if (narr.startsWith(exports.MOBILE_NARR_PREFIX)) {
185
- const data = narr.replace(exports.MOBILE_NARR_PREFIX, "").trim().split(" ");
186
- const phone = frontend_core_1.TZPhoneNumber.from(data[0]);
187
- const username = data.slice(1).map(capitalizeFirstLetter).join(" ");
188
- if (phone && username) {
189
- return new afloat_1.MobileContactInfo(username, phone);
190
- }
191
- }
192
- }
193
- catch (_) {
194
- return undefined;
195
- }
196
- }
197
- });
198
- this.text = text;
199
- }
200
- /**
201
- * Returns a medium-length version of the narration text suitable for table columns.
202
- * Truncates to 47 characters + "..." if longer than 50 characters.
203
- *
204
- * @returns Truncated narration text for medium-width displays
205
- */
206
- get mediumText() {
207
- if (this.text.length > 50) {
208
- return this.text.substring(0, 47) + "...";
209
- }
210
- return this.text;
211
- }
212
- /**
213
- * Returns a short version of the narration text suitable for compact displays.
214
- * Truncates to 32 characters + "..." if longer than 35 characters.
215
- *
216
- * @returns Truncated narration text for narrow displays
217
- */
218
- get shortText() {
219
- if (this.text.length > 35) {
220
- return this.text.substring(0, 32) + "...";
221
- }
222
- return this.text;
223
- }
224
- /**
225
- * Generates a default payout narration based on contact information.
226
- * Automatically determines whether to generate mobile or bank narration based on contact type.
227
- *
228
- * @param data - Contact information (either MobileContactInfo or BankContactInfo)
229
- * @returns Formatted default narration string in uppercase, or empty string if contact type is unrecognized
230
- *
231
- * @example
232
- * ```typescript
233
- * const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
234
- * const narration = Narration.generateDefaultPayoutNarration(mobileContact);
235
- * // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
236
- *
237
- * const bankContact = new BankContactInfo("Jane Smith", bank, "1234567890");
238
- * const narration = Narration.generateDefaultPayoutNarration(bankContact);
239
- * // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
240
- * ```
241
- */
242
- static generateDefaultPayoutNarration(data) {
243
- if (afloat_1.MobileContactInfo.is(data)) {
244
- return Narration.generateMobilePayoutNarration(data);
245
- }
246
- else if (afloat_1.BankContactInfo.is(data)) {
247
- return Narration.generateBankPayoutNarration(data);
248
- }
249
- else {
250
- return "";
251
- }
252
- }
253
- /**
254
- * Generates a standardized mobile money payout narration.
255
- * Format: "PAYOUT TO MOBILE {phone_number} {name}"
256
- *
257
- * @param data - Mobile contact information containing phone number and name
258
- * @returns Formatted mobile payout narration in uppercase
259
- *
260
- * @example
261
- * ```typescript
262
- * const contact = new MobileContactInfo("John Doe", phoneNumber);
263
- * const narration = Narration.generateMobilePayoutNarration(contact);
264
- * // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
265
- * ```
266
- */
267
- static generateMobilePayoutNarration(data) {
268
- const { phoneNumber, name } = data;
269
- return `${exports.MOBILE_NARR_PREFIX.trim()} ${phoneNumber.label.trim()} ${name.trim()}`.toUpperCase();
270
- }
271
- /**
272
- * Generates a standardized bank payout narration.
273
- * Format: "PAYOUT TO BANK {bank_short_name} {account_number} {account_name}"
274
- *
275
- * @param data - Bank contact information containing bank details, account number, and account name
276
- * @returns Formatted bank payout narration in uppercase
277
- *
278
- * @example
279
- * ```typescript
280
- * const contact = new BankContactInfo("Jane Smith", bank, "1234567890");
281
- * const narration = Narration.generateBankPayoutNarration(contact);
282
- * // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
283
- * ```
284
- */
285
- static generateBankPayoutNarration(data) {
286
- const { bank, accName, accNo } = data;
287
- return `${exports.BANK_NARR_PREFIX.trim()} ${bank.shortName.trim()} ${accNo.trim()} ${accName.trim()}`.toUpperCase();
288
- }
289
- }
290
- exports.Narration = Narration;
291
- /**
292
- * Capitalizes the first letter of a string and converts the rest to lowercase.
293
- * Used for standardizing name formatting in narrations.
294
- *
295
- * @param str - The string to capitalize
296
- * @returns String with first letter capitalized and rest in lowercase
297
- *
298
- * @example
299
- * ```typescript
300
- * capitalizeFirstLetter("john") // Returns: "John"
301
- * capitalizeFirstLetter("SMITH") // Returns: "Smith"
302
- * capitalizeFirstLetter("") // Returns: ""
303
- * ```
304
- */
305
- function capitalizeFirstLetter(str) {
306
- if (str.length === 0) {
307
- return str; // Return an empty string if input is empty
308
- }
309
- const firstLetter = str.charAt(0).toUpperCase();
310
- const restOfString = str.slice(1).toLowerCase();
311
- return firstLetter + restOfString;
312
- }
@@ -1,156 +0,0 @@
1
- import { z } from "zod";
2
- import { PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "./status.js";
3
- /**
4
- * Type definition for identifier schema
5
- * Used for tracking who created or actioned a payout
6
- * Contains a name and unique identity string
7
- */
8
- type IdentifierType = z.ZodObject<{
9
- name: z.ZodString;
10
- identity: z.ZodString;
11
- }>;
12
- /**
13
- * Type definition for payout status enum
14
- * Represents all possible states of a payout:
15
- *
16
- * @see {@link PAYOUT_STATUS} for the enum definition in "@models/payout/status.ts"
17
- */
18
- type PayoutStatusType = z.ZodEnum<[
19
- typeof PAYOUT_STATUS.CREATED,
20
- typeof PAYOUT_STATUS.PAID,
21
- typeof PAYOUT_STATUS.FAILED,
22
- typeof PAYOUT_STATUS.REJECTED,
23
- typeof PAYOUT_STATUS.PENDING,
24
- typeof PAYOUT_STATUS.QUEUED,
25
- typeof PAYOUT_STATUS.REVERSED
26
- ]>;
27
- /**
28
- * Type definition for payout approval status enum
29
- * Represents the approval state of a payout:
30
- *
31
- * @see {@link PAYOUT_APPROVAL_STATUS} for the enum definition in "@models/payout/status.ts"
32
- */
33
- type ApprovalPayoutStatusType = z.ZodEnum<[
34
- typeof PAYOUT_APPROVAL_STATUS.APPROVED,
35
- typeof PAYOUT_APPROVAL_STATUS.PENDING,
36
- typeof PAYOUT_APPROVAL_STATUS.REJECTED
37
- ]>;
38
- /**
39
- * Type definition for payout input schema
40
- * Extends the base payout type with payee information required for creating new payouts
41
- *
42
- * @extends {BasePayoutType}
43
- * @property {z.ZodString} payeeName - Name of the payment recipient
44
- */
45
- type PayoutInputType = z.ZodObject<{
46
- channel: z.ZodString;
47
- msisdn: z.ZodString;
48
- amount: z.ZodNumber;
49
- description: z.ZodString;
50
- notes: Optional<z.ZodString>;
51
- payeeName: z.ZodString;
52
- }>;
53
- /**
54
- * Type definition for complete payout schema
55
- * Extends the base payout type with additional fields for tracking
56
- * the full lifecycle of a payout transaction
57
- *
58
- * @extends {BasePayoutType}
59
- * @property {z.ZodString} id - Unique identifier for the payout
60
- * @property {z.ZodString} profileId - ID of the profile initiating the payout
61
- * @property {z.ZodString} payeeName - Name of the payment recipient
62
- * @property {PayoutStatusType} status - Current status of the payout
63
- * @property {z.ZodString} statusMessage - Detailed message about the current status
64
- * @property {z.ZodString} partnerReference - Optional reference from payment partner
65
- * @property {z.ZodDate} createdAt - Timestamp of payout creation
66
- * @property {z.ZodDate} updatedAt - Timestamp of last payout update
67
- * @property {ApprovalPayoutStatusType} approvalStatus - Current approval state
68
- * @property {IdentifierType} createdBy - User who created the payout
69
- * @property {IdentifierType} actionedBy - User who last actioned the payout
70
- */
71
- type PayoutType = z.ZodObject<{
72
- channel: z.ZodString;
73
- msisdn: z.ZodString;
74
- amount: z.ZodNumber;
75
- description: z.ZodString;
76
- notes: Optional<z.ZodString>;
77
- id: z.ZodString;
78
- profileId: z.ZodString;
79
- payeeName: z.ZodString;
80
- status: PayoutStatusType;
81
- statusMessage: z.ZodString;
82
- partnerReference: Optional<z.ZodString>;
83
- createdAt: z.ZodDate;
84
- updatedAt: z.ZodDate;
85
- approvalStatus: ApprovalPayoutStatusType;
86
- createdBy: Optional<IdentifierType>;
87
- actionedBy: Optional<IdentifierType>;
88
- }>;
89
- /**
90
- * Type representing a Zod schema that transforms nullable values to undefined
91
- * @template T - The original Zod schema type
92
- * @property {z.ZodNullable<T>} - The nullable version of the input schema
93
- * @property {T["_output"] | undefined} - The output type, allowing the original type or undefined
94
- * @property {T["_input"] | null} - The input type, allowing the original type or null
95
- */
96
- type MakeOptionalResult<T extends z.ZodType> = z.ZodEffects<z.ZodNullable<T>, T["_output"] | undefined, T["_input"] | null>;
97
- /**
98
- * Type representing a fully optional field that transforms nulls to undefined
99
- * @template T - The original Zod schema type
100
- * Combines MakeOptionalResult with ZodOptional to allow both:
101
- * 1. The field to be optional (can be omitted from object)
102
- * 2. When present, the value can be null (transformed to undefined) or the original type
103
- */
104
- type Optional<T extends z.ZodType> = z.ZodOptional<MakeOptionalResult<T>>;
105
- /**
106
- * Schema for identifying users in the payout process
107
- * Used to track who created or actioned a payout
108
- */
109
- declare const identifierSchema: IdentifierType;
110
- /**
111
- * Type definition inferred from identifierSchema
112
- * Represents the structure of a user who actions the payout
113
- */
114
- type PayoutApprover = z.infer<typeof identifierSchema>;
115
- /**
116
- * Type definition inferred from payoutInputSchema
117
- * Represents the structure of data required to create a new payout
118
- */
119
- type PayoutInput = z.infer<typeof payoutInputSchema>;
120
- /**
121
- * Schema for creating a new payout
122
- * Extends base payout schema with payee information
123
- */
124
- declare const payoutInputSchema: PayoutInputType;
125
- /**
126
- * Type definition inferred from payoutSchema
127
- * Represents the complete payout record structure
128
- */
129
- type PayoutData = z.infer<typeof payoutSchema>;
130
- /**
131
- * Schema for complete payout record
132
- * Extends base payout schema with additional fields for:
133
- * - Identification (id, profileId)
134
- * - Status tracking
135
- * - Timestamps
136
- * - Approval information
137
- * - User tracking (created by, actioned by)
138
- */
139
- declare const payoutSchema: PayoutType;
140
- /**
141
- * Export object containing all payout-related schemas
142
- * Used for validation and type checking throughout the application
143
- */
144
- export declare const PayoutSchemas: {
145
- readonly payoutData: PayoutType;
146
- readonly payoutInput: PayoutInputType;
147
- readonly payoutTransactionStatus: PayoutStatusType;
148
- readonly payoutApprovalStatus: ApprovalPayoutStatusType;
149
- readonly payoutApprover: IdentifierType;
150
- };
151
- /**
152
- * Export types for use in other parts of the application
153
- * These types can be used for type checking and documentation
154
- */
155
- export type { PayoutApprover, PayoutData, PayoutInput };
156
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/schemas.ts"],"names":[],"mappings":"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"}