@mft/moneyhub-api-client 4.20.0 → 5.0.0-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 (347) hide show
  1. package/dist/src/exchange-code-for-token.d.ts +9 -0
  2. package/dist/src/exchange-code-for-token.d.ts.map +1 -0
  3. package/dist/src/exchange-code-for-token.js +91 -0
  4. package/dist/src/exchange-code-for-token.js.map +1 -0
  5. package/dist/src/get-auth-urls.d.ts +142 -0
  6. package/dist/src/get-auth-urls.d.ts.map +1 -0
  7. package/dist/src/get-auth-urls.js +438 -0
  8. package/dist/src/get-auth-urls.js.map +1 -0
  9. package/dist/src/index.d.ts +25 -0
  10. package/dist/src/index.d.ts.map +1 -0
  11. package/dist/src/index.js +71 -0
  12. package/dist/src/index.js.map +1 -0
  13. package/dist/src/request.d.ts +8 -0
  14. package/dist/src/request.d.ts.map +1 -0
  15. package/dist/src/request.js +53 -0
  16. package/dist/src/request.js.map +1 -0
  17. package/dist/src/requests/accounts.d.ts +5 -0
  18. package/dist/src/requests/accounts.d.ts.map +1 -0
  19. package/dist/src/requests/accounts.js +99 -0
  20. package/dist/src/requests/accounts.js.map +1 -0
  21. package/dist/src/requests/auth-requests.d.ts +5 -0
  22. package/dist/src/requests/auth-requests.d.ts.map +1 -0
  23. package/dist/src/requests/auth-requests.js +52 -0
  24. package/dist/src/requests/auth-requests.js.map +1 -0
  25. package/dist/src/requests/beneficiaries.d.ts +5 -0
  26. package/dist/src/requests/beneficiaries.d.ts.map +1 -0
  27. package/dist/src/requests/beneficiaries.js +27 -0
  28. package/dist/src/requests/beneficiaries.js.map +1 -0
  29. package/dist/src/requests/categories.d.ts +5 -0
  30. package/dist/src/requests/categories.d.ts.map +1 -0
  31. package/dist/src/requests/categories.js +46 -0
  32. package/dist/src/requests/categories.js.map +1 -0
  33. package/dist/src/requests/index.d.ts +5 -0
  34. package/dist/src/requests/index.d.ts.map +1 -0
  35. package/dist/src/requests/index.js +52 -0
  36. package/dist/src/requests/index.js.map +1 -0
  37. package/dist/src/requests/payees.d.ts +5 -0
  38. package/dist/src/requests/payees.d.ts.map +1 -0
  39. package/dist/src/requests/payees.js +26 -0
  40. package/dist/src/requests/payees.js.map +1 -0
  41. package/dist/src/requests/payments.d.ts +5 -0
  42. package/dist/src/requests/payments.d.ts.map +1 -0
  43. package/dist/src/requests/payments.js +30 -0
  44. package/dist/src/requests/payments.js.map +1 -0
  45. package/dist/src/requests/projects.d.ts +5 -0
  46. package/dist/src/requests/projects.d.ts.map +1 -0
  47. package/dist/src/requests/projects.js +45 -0
  48. package/dist/src/requests/projects.js.map +1 -0
  49. package/dist/src/requests/recurring-payments.d.ts +5 -0
  50. package/dist/src/requests/recurring-payments.d.ts.map +1 -0
  51. package/dist/src/requests/recurring-payments.js +32 -0
  52. package/dist/src/requests/recurring-payments.js.map +1 -0
  53. package/dist/src/requests/regular-transactions.d.ts +5 -0
  54. package/dist/src/requests/regular-transactions.d.ts.map +1 -0
  55. package/dist/src/requests/regular-transactions.js +15 -0
  56. package/dist/src/requests/regular-transactions.js.map +1 -0
  57. package/dist/src/requests/rental-records.d.ts +5 -0
  58. package/dist/src/requests/rental-records.d.ts.map +1 -0
  59. package/dist/src/requests/rental-records.js +33 -0
  60. package/dist/src/requests/rental-records.js.map +1 -0
  61. package/dist/src/requests/savings-goals.d.ts +5 -0
  62. package/dist/src/requests/savings-goals.d.ts.map +1 -0
  63. package/dist/src/requests/savings-goals.js +46 -0
  64. package/dist/src/requests/savings-goals.js.map +1 -0
  65. package/dist/src/requests/spending-analysis.d.ts +5 -0
  66. package/dist/src/requests/spending-analysis.d.ts.map +1 -0
  67. package/dist/src/requests/spending-analysis.js +18 -0
  68. package/dist/src/requests/spending-analysis.js.map +1 -0
  69. package/dist/src/requests/spending-goals.d.ts +5 -0
  70. package/dist/src/requests/spending-goals.d.ts.map +1 -0
  71. package/dist/src/requests/spending-goals.js +46 -0
  72. package/dist/src/requests/spending-goals.js.map +1 -0
  73. package/dist/src/requests/standing-orders.d.ts +5 -0
  74. package/dist/src/requests/standing-orders.d.ts.map +1 -0
  75. package/dist/src/requests/standing-orders.js +20 -0
  76. package/dist/src/requests/standing-orders.js.map +1 -0
  77. package/dist/src/requests/sync.d.ts +5 -0
  78. package/dist/src/requests/sync.d.ts.map +1 -0
  79. package/dist/src/requests/sync.js +41 -0
  80. package/dist/src/requests/sync.js.map +1 -0
  81. package/dist/src/requests/tax.d.ts +5 -0
  82. package/dist/src/requests/tax.d.ts.map +1 -0
  83. package/dist/src/requests/tax.js +39 -0
  84. package/dist/src/requests/tax.js.map +1 -0
  85. package/dist/src/requests/transaction-files.d.ts +5 -0
  86. package/dist/src/requests/transaction-files.d.ts.map +1 -0
  87. package/dist/src/requests/transaction-files.js +44 -0
  88. package/dist/src/requests/transaction-files.js.map +1 -0
  89. package/dist/src/requests/transaction-splits.d.ts +5 -0
  90. package/dist/src/requests/transaction-splits.d.ts.map +1 -0
  91. package/dist/src/requests/transaction-splits.js +38 -0
  92. package/dist/src/requests/transaction-splits.js.map +1 -0
  93. package/dist/src/requests/transactions.d.ts +5 -0
  94. package/dist/src/requests/transactions.d.ts.map +1 -0
  95. package/dist/src/requests/transactions.js +54 -0
  96. package/dist/src/requests/transactions.js.map +1 -0
  97. package/dist/src/requests/unauthenticated.d.ts +5 -0
  98. package/dist/src/requests/unauthenticated.d.ts.map +1 -0
  99. package/dist/src/requests/unauthenticated.js +16 -0
  100. package/dist/src/requests/unauthenticated.js.map +1 -0
  101. package/dist/src/requests/users-and-connections.d.ts +5 -0
  102. package/dist/src/requests/users-and-connections.d.ts.map +1 -0
  103. package/dist/src/requests/users-and-connections.js +72 -0
  104. package/dist/src/requests/users-and-connections.js.map +1 -0
  105. package/dist/src/tokens.d.ts +24 -0
  106. package/dist/src/tokens.d.ts.map +1 -0
  107. package/dist/src/tokens.js +64 -0
  108. package/dist/src/tokens.js.map +1 -0
  109. package/dist/types/config.d.ts +23 -0
  110. package/dist/types/config.d.ts.map +1 -0
  111. package/dist/types/config.js +3 -0
  112. package/dist/types/config.js.map +1 -0
  113. package/dist/types/get-auth-urls.d.ts +118 -0
  114. package/dist/types/get-auth-urls.d.ts.map +1 -0
  115. package/dist/types/get-auth-urls.js +3 -0
  116. package/dist/types/get-auth-urls.js.map +1 -0
  117. package/dist/types/index.d.ts +30 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/dist/types/index.js +3 -0
  120. package/dist/types/index.js.map +1 -0
  121. package/dist/types/request.d.ts +39 -0
  122. package/dist/types/request.d.ts.map +1 -0
  123. package/dist/types/request.js +3 -0
  124. package/dist/types/request.js.map +1 -0
  125. package/dist/types/requests/accounts.d.ts +68 -0
  126. package/dist/types/requests/accounts.d.ts.map +1 -0
  127. package/dist/types/requests/accounts.js +3 -0
  128. package/dist/types/requests/accounts.js.map +1 -0
  129. package/dist/types/requests/auth-requests.d.ts +42 -0
  130. package/dist/types/requests/auth-requests.d.ts.map +1 -0
  131. package/dist/types/requests/auth-requests.js +9 -0
  132. package/dist/types/requests/auth-requests.js.map +1 -0
  133. package/dist/types/requests/beneficiaries.d.ts +21 -0
  134. package/dist/types/requests/beneficiaries.d.ts.map +1 -0
  135. package/dist/types/requests/beneficiaries.js +3 -0
  136. package/dist/types/requests/beneficiaries.js.map +1 -0
  137. package/dist/types/requests/categories.d.ts +28 -0
  138. package/dist/types/requests/categories.d.ts.map +1 -0
  139. package/dist/types/requests/categories.js +3 -0
  140. package/dist/types/requests/categories.js.map +1 -0
  141. package/dist/types/requests/payees.d.ts +16 -0
  142. package/dist/types/requests/payees.d.ts.map +1 -0
  143. package/dist/types/requests/payees.js +3 -0
  144. package/dist/types/requests/payees.js.map +1 -0
  145. package/dist/types/requests/payments.d.ts +12 -0
  146. package/dist/types/requests/payments.d.ts.map +1 -0
  147. package/dist/types/requests/payments.js +3 -0
  148. package/dist/types/requests/payments.js.map +1 -0
  149. package/dist/types/requests/projects.d.ts +26 -0
  150. package/dist/types/requests/projects.d.ts.map +1 -0
  151. package/dist/types/requests/projects.js +3 -0
  152. package/dist/types/requests/projects.js.map +1 -0
  153. package/dist/types/requests/recurring-payments.d.ts +16 -0
  154. package/dist/types/requests/recurring-payments.d.ts.map +1 -0
  155. package/dist/types/requests/recurring-payments.js +3 -0
  156. package/dist/types/requests/recurring-payments.js.map +1 -0
  157. package/dist/types/requests/regular-transactions.d.ts +9 -0
  158. package/dist/types/requests/regular-transactions.d.ts.map +1 -0
  159. package/dist/types/requests/regular-transactions.js +3 -0
  160. package/dist/types/requests/regular-transactions.js.map +1 -0
  161. package/dist/types/requests/rental-records.d.ts +16 -0
  162. package/dist/types/requests/rental-records.d.ts.map +1 -0
  163. package/dist/types/requests/rental-records.js +3 -0
  164. package/dist/types/requests/rental-records.js.map +1 -0
  165. package/dist/types/requests/savings-goals.d.ts +40 -0
  166. package/dist/types/requests/savings-goals.d.ts.map +1 -0
  167. package/dist/types/requests/savings-goals.js +3 -0
  168. package/dist/types/requests/savings-goals.js.map +1 -0
  169. package/dist/types/requests/spending-analysis.d.ts +18 -0
  170. package/dist/types/requests/spending-analysis.d.ts.map +1 -0
  171. package/dist/types/requests/spending-analysis.js +3 -0
  172. package/dist/types/requests/spending-analysis.js.map +1 -0
  173. package/dist/types/requests/spending-goals.d.ts +35 -0
  174. package/dist/types/requests/spending-goals.d.ts.map +1 -0
  175. package/dist/types/requests/spending-goals.js +8 -0
  176. package/dist/types/requests/spending-goals.js.map +1 -0
  177. package/dist/types/requests/standing-orders.d.ts +9 -0
  178. package/dist/types/requests/standing-orders.d.ts.map +1 -0
  179. package/dist/types/requests/standing-orders.js +3 -0
  180. package/dist/types/requests/standing-orders.js.map +1 -0
  181. package/dist/types/requests/sync.d.ts +18 -0
  182. package/dist/types/requests/sync.d.ts.map +1 -0
  183. package/dist/types/requests/sync.js +8 -0
  184. package/dist/types/requests/sync.js.map +1 -0
  185. package/dist/types/requests/tax.d.ts +9 -0
  186. package/dist/types/requests/tax.d.ts.map +1 -0
  187. package/dist/types/requests/tax.js +3 -0
  188. package/dist/types/requests/tax.js.map +1 -0
  189. package/dist/types/requests/transaction-files.d.ts +25 -0
  190. package/dist/types/requests/transaction-files.d.ts.map +1 -0
  191. package/dist/types/requests/transaction-files.js +3 -0
  192. package/dist/types/requests/transaction-files.js.map +1 -0
  193. package/dist/types/requests/transaction-splits.d.ts +24 -0
  194. package/dist/types/requests/transaction-splits.d.ts.map +1 -0
  195. package/dist/types/requests/transaction-splits.js +3 -0
  196. package/dist/types/requests/transaction-splits.js.map +1 -0
  197. package/dist/types/requests/transactions.d.ts +35 -0
  198. package/dist/types/requests/transactions.d.ts.map +1 -0
  199. package/dist/types/requests/transactions.js +3 -0
  200. package/dist/types/requests/transactions.js.map +1 -0
  201. package/dist/types/requests/unauthenticated.d.ts +12 -0
  202. package/dist/types/requests/unauthenticated.d.ts.map +1 -0
  203. package/dist/types/requests/unauthenticated.js +3 -0
  204. package/dist/types/requests/unauthenticated.js.map +1 -0
  205. package/dist/types/requests/users-and-connections.d.ts +39 -0
  206. package/dist/types/requests/users-and-connections.d.ts.map +1 -0
  207. package/dist/types/requests/users-and-connections.js +3 -0
  208. package/dist/types/requests/users-and-connections.js.map +1 -0
  209. package/dist/types/schema/account.d.ts +102 -0
  210. package/dist/types/schema/account.d.ts.map +1 -0
  211. package/dist/types/schema/account.js +35 -0
  212. package/dist/types/schema/account.js.map +1 -0
  213. package/dist/types/schema/auth-request.d.ts +31 -0
  214. package/dist/types/schema/auth-request.d.ts.map +1 -0
  215. package/dist/types/schema/auth-request.js +10 -0
  216. package/dist/types/schema/auth-request.js.map +1 -0
  217. package/dist/types/schema/balance.d.ts +11 -0
  218. package/dist/types/schema/balance.d.ts.map +1 -0
  219. package/dist/types/schema/balance.js +3 -0
  220. package/dist/types/schema/balance.js.map +1 -0
  221. package/dist/types/schema/beneficiary.d.ts +19 -0
  222. package/dist/types/schema/beneficiary.d.ts.map +1 -0
  223. package/dist/types/schema/beneficiary.js +3 -0
  224. package/dist/types/schema/beneficiary.js.map +1 -0
  225. package/dist/types/schema/category.d.ts +15 -0
  226. package/dist/types/schema/category.d.ts.map +1 -0
  227. package/dist/types/schema/category.js +3 -0
  228. package/dist/types/schema/category.js.map +1 -0
  229. package/dist/types/schema/connection.d.ts +39 -0
  230. package/dist/types/schema/connection.d.ts.map +1 -0
  231. package/dist/types/schema/connection.js +3 -0
  232. package/dist/types/schema/connection.js.map +1 -0
  233. package/dist/types/schema/counterparty.d.ts +33 -0
  234. package/dist/types/schema/counterparty.d.ts.map +1 -0
  235. package/dist/types/schema/counterparty.js +8 -0
  236. package/dist/types/schema/counterparty.js.map +1 -0
  237. package/dist/types/schema/holding.d.ts +55 -0
  238. package/dist/types/schema/holding.d.ts.map +1 -0
  239. package/dist/types/schema/holding.js +9 -0
  240. package/dist/types/schema/holding.js.map +1 -0
  241. package/dist/types/schema/payee.d.ts +18 -0
  242. package/dist/types/schema/payee.d.ts.map +1 -0
  243. package/dist/types/schema/payee.js +3 -0
  244. package/dist/types/schema/payee.js.map +1 -0
  245. package/dist/types/schema/payment.d.ts +156 -0
  246. package/dist/types/schema/payment.d.ts.map +1 -0
  247. package/dist/types/schema/payment.js +68 -0
  248. package/dist/types/schema/payment.js.map +1 -0
  249. package/dist/types/schema/project.d.ts +25 -0
  250. package/dist/types/schema/project.d.ts.map +1 -0
  251. package/dist/types/schema/project.js +9 -0
  252. package/dist/types/schema/project.js.map +1 -0
  253. package/dist/types/schema/regular-transaction.d.ts +40 -0
  254. package/dist/types/schema/regular-transaction.d.ts.map +1 -0
  255. package/dist/types/schema/regular-transaction.js +16 -0
  256. package/dist/types/schema/regular-transaction.js.map +1 -0
  257. package/dist/types/schema/rental-record.d.ts +44 -0
  258. package/dist/types/schema/rental-record.d.ts.map +1 -0
  259. package/dist/types/schema/rental-record.js +9 -0
  260. package/dist/types/schema/rental-record.js.map +1 -0
  261. package/dist/types/schema/savings-goal.d.ts +15 -0
  262. package/dist/types/schema/savings-goal.d.ts.map +1 -0
  263. package/dist/types/schema/savings-goal.js +3 -0
  264. package/dist/types/schema/savings-goal.js.map +1 -0
  265. package/dist/types/schema/spending-analysis.d.ts +14 -0
  266. package/dist/types/schema/spending-analysis.d.ts.map +1 -0
  267. package/dist/types/schema/spending-analysis.js +3 -0
  268. package/dist/types/schema/spending-analysis.js.map +1 -0
  269. package/dist/types/schema/spending-goal.d.ts +20 -0
  270. package/dist/types/schema/spending-goal.d.ts.map +1 -0
  271. package/dist/types/schema/spending-goal.js +8 -0
  272. package/dist/types/schema/spending-goal.js.map +1 -0
  273. package/dist/types/schema/standing-order.d.ts +80 -0
  274. package/dist/types/schema/standing-order.d.ts.map +1 -0
  275. package/dist/types/schema/standing-order.js +24 -0
  276. package/dist/types/schema/standing-order.js.map +1 -0
  277. package/dist/types/schema/sync.d.ts +16 -0
  278. package/dist/types/schema/sync.d.ts.map +1 -0
  279. package/dist/types/schema/sync.js +3 -0
  280. package/dist/types/schema/sync.js.map +1 -0
  281. package/dist/types/schema/tax.d.ts +35 -0
  282. package/dist/types/schema/tax.d.ts.map +1 -0
  283. package/dist/types/schema/tax.js +3 -0
  284. package/dist/types/schema/tax.js.map +1 -0
  285. package/dist/types/schema/transaction.d.ts +127 -0
  286. package/dist/types/schema/transaction.d.ts.map +1 -0
  287. package/dist/types/schema/transaction.js +3 -0
  288. package/dist/types/schema/transaction.js.map +1 -0
  289. package/dist/types/schema/user.d.ts +15 -0
  290. package/dist/types/schema/user.d.ts.map +1 -0
  291. package/dist/types/schema/user.js +3 -0
  292. package/dist/types/schema/user.js.map +1 -0
  293. package/dist/types/tokens.d.ts +40 -0
  294. package/dist/types/tokens.d.ts.map +1 -0
  295. package/dist/types/tokens.js +3 -0
  296. package/dist/types/tokens.js.map +1 -0
  297. package/package.json +22 -7
  298. package/readme.md +57 -4
  299. package/.eslintrc +0 -9
  300. package/.github/workflows/main.yml +0 -24
  301. package/resources/sample.jpg +0 -0
  302. package/resources/scripts/pre-commit.sh +0 -43
  303. package/src/__tests__/accounts.js +0 -76
  304. package/src/__tests__/auth-requests.js +0 -33
  305. package/src/__tests__/auth-urls.js +0 -126
  306. package/src/__tests__/categories.js +0 -92
  307. package/src/__tests__/index.js +0 -166
  308. package/src/__tests__/payees.js +0 -39
  309. package/src/__tests__/payments.js +0 -34
  310. package/src/__tests__/projects.js +0 -56
  311. package/src/__tests__/regular-transactions.js +0 -20
  312. package/src/__tests__/rental-records.js +0 -90
  313. package/src/__tests__/savings-goals.js +0 -68
  314. package/src/__tests__/spending-goals.js +0 -52
  315. package/src/__tests__/sync.js +0 -29
  316. package/src/__tests__/tax.js +0 -29
  317. package/src/__tests__/token.js +0 -25
  318. package/src/__tests__/transaction-files.js +0 -55
  319. package/src/__tests__/transaction-splits.js +0 -95
  320. package/src/__tests__/transactions.js +0 -110
  321. package/src/__tests__/users.js +0 -39
  322. package/src/exchange-code-for-token.js +0 -115
  323. package/src/get-auth-urls.js +0 -559
  324. package/src/index.js +0 -85
  325. package/src/request.js +0 -58
  326. package/src/requests/accounts.js +0 -146
  327. package/src/requests/auth-requests.js +0 -61
  328. package/src/requests/beneficiaries.js +0 -31
  329. package/src/requests/categories.js +0 -55
  330. package/src/requests/payees.js +0 -29
  331. package/src/requests/payments.js +0 -35
  332. package/src/requests/projects.js +0 -51
  333. package/src/requests/recurring-payments.js +0 -37
  334. package/src/requests/regular-transactions.js +0 -17
  335. package/src/requests/rental-records.js +0 -41
  336. package/src/requests/savings-goals.js +0 -49
  337. package/src/requests/spending-analysis.js +0 -19
  338. package/src/requests/spending-goals.js +0 -49
  339. package/src/requests/standing-orders.js +0 -21
  340. package/src/requests/sync.js +0 -23
  341. package/src/requests/tax.js +0 -16
  342. package/src/requests/transaction-files.js +0 -54
  343. package/src/requests/transaction-splits.js +0 -57
  344. package/src/requests/transactions.js +0 -58
  345. package/src/requests/unauthenticated.js +0 -19
  346. package/src/requests/users-and-connections.js +0 -89
  347. package/src/tokens.js +0 -72
package/src/index.js DELETED
@@ -1,85 +0,0 @@
1
- const {Issuer, custom} = require("openid-client")
2
- const R = require("ramda")
3
- const {JWKS} = require("jose")
4
- const getAuthUrlsFactory = require("./get-auth-urls")
5
- const getTokensFactory = require("./tokens")
6
- const requestFactories = [
7
- require("./requests/accounts"),
8
- require("./requests/auth-requests"),
9
- require("./requests/beneficiaries"),
10
- require("./requests/payees"),
11
- require("./requests/payments"),
12
- require("./requests/projects"),
13
- require("./requests/sync"),
14
- require("./requests/tax"),
15
- require("./requests/transactions"),
16
- require("./requests/transaction-files"),
17
- require("./requests//transaction-splits"),
18
- require("./requests/unauthenticated"),
19
- require("./requests/users-and-connections"),
20
- require("./requests/categories"),
21
- require("./requests/standing-orders"),
22
- require("./requests/regular-transactions"),
23
- require("./requests/rental-records"),
24
- require("./requests/recurring-payments"),
25
- require("./requests/spending-analysis"),
26
- require("./requests/spending-goals"),
27
- require("./requests/savings-goals.js"),
28
- ]
29
- const DEFAULT_TIMEOUT = 60000
30
-
31
- module.exports = async (apiClientConfig) => {
32
- const config = R.evolve(
33
- {
34
- identityServiceUrl: (value) => value.replace("/oidc", ""),
35
- },
36
- apiClientConfig
37
- )
38
-
39
- const {
40
- identityServiceUrl,
41
- options = {},
42
- client: {
43
- client_id,
44
- client_secret,
45
- id_token_signed_response_alg,
46
- request_object_signing_alg,
47
- redirect_uri,
48
- keys,
49
- token_endpoint_auth_method,
50
- },
51
- } = config
52
-
53
- const {timeout = DEFAULT_TIMEOUT} = options
54
-
55
- custom.setHttpOptionsDefaults({
56
- timeout,
57
- })
58
-
59
- const moneyhubIssuer = await Issuer.discover(identityServiceUrl + "/oidc")
60
-
61
- const client = new moneyhubIssuer.Client(
62
- {
63
- client_id,
64
- client_secret,
65
- id_token_signed_response_alg,
66
- redirect_uri,
67
- token_endpoint_auth_method,
68
- request_object_signing_alg,
69
- },
70
- {keys}
71
- )
72
-
73
- client[custom.clock_tolerance] = 10
74
-
75
- const request = require("./request")({client, options: {timeout}})
76
-
77
- const moneyhub = {
78
- ...R.mergeAll(requestFactories.map((fn) => fn({request, config}))),
79
- ...getAuthUrlsFactory({client, config}),
80
- ...getTokensFactory({client, config}),
81
-
82
- keys: () => (keys && keys.length ? JWKS.asKeyStore({keys}).toJWKS() : null),
83
- }
84
- return moneyhub
85
- }
package/src/request.js DELETED
@@ -1,58 +0,0 @@
1
- const got = require("got")
2
- const R = require("ramda")
3
-
4
- const getResponseBody = err => {
5
- let body = {}
6
- try {
7
- const {code, message, details} = JSON.parse(R.pathOr("{}", ["response", "body"], err))
8
- body = {code, message, details: typeof details === "object" ? JSON.stringify(details) : details}
9
- // eslint-disable-next-line no-empty
10
- } catch (e) {
11
- body = {}
12
- }
13
-
14
- return body
15
- }
16
-
17
- const attachErrorDetails = err => {
18
- const {code, message, details} = getResponseBody(err)
19
- err.error = code
20
- err.error_description = message
21
- err.error_details = details
22
- throw err
23
- }
24
-
25
- module.exports = ({client, options: {timeout}}) => async (url, opts = {}) => {
26
- const gotOpts = {
27
- method: opts.method || "GET",
28
- headers: opts.headers || {},
29
- searchParams: opts.searchParams,
30
- timeout,
31
- }
32
-
33
- if (opts.cc) {
34
- const {access_token} = await client.grant({
35
- grant_type: "client_credentials",
36
- scope: opts.cc.scope,
37
- sub: opts.cc.sub,
38
- })
39
- gotOpts.headers.Authorization = `Bearer ${access_token}`
40
- }
41
-
42
- if (opts.body) {
43
- gotOpts.json = opts.body
44
- }
45
-
46
- if (opts.form) {
47
- gotOpts.body = opts.form
48
- }
49
-
50
- const req = got(url, gotOpts)
51
- if (opts.returnStatus) {
52
- return req.then(res => res.statusCode)
53
- .catch(attachErrorDetails)
54
- }
55
-
56
- return req.json()
57
- .catch(attachErrorDetails)
58
- }
@@ -1,146 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
-
4
- return {
5
- getAccounts: async ({userId, params = {}}) =>
6
- request(`${resourceServerUrl}/accounts`, {
7
- searchParams: params,
8
- cc: {
9
- scope: "accounts:read",
10
- sub: userId,
11
- },
12
- }),
13
-
14
-
15
- getAccountsWithDetails: async ({userId, params = {}}) =>
16
- request(`${resourceServerUrl}/accounts`, {
17
- searchParams: params,
18
- cc: {
19
- scope: "accounts:read accounts_details:read",
20
- sub: userId,
21
- },
22
- }),
23
-
24
- getAccount: async ({userId, accountId}) =>
25
- request(`${resourceServerUrl}/accounts/${accountId}`, {
26
- cc: {
27
- scope: "accounts:read",
28
- sub: userId,
29
- },
30
- }),
31
-
32
- getAccountBalances: async ({userId, accountId}) =>
33
- request(`${resourceServerUrl}/accounts/${accountId}/balances`, {
34
- cc: {
35
- scope: "accounts:read",
36
- sub: userId,
37
- },
38
- }),
39
-
40
- getAccountWithDetails: async ({userId, accountId}) =>
41
- request(`${resourceServerUrl}/accounts/${accountId}`, {
42
- cc: {
43
- scope: "accounts:read accounts_details:read",
44
- sub: userId,
45
- },
46
- }),
47
-
48
- getAccountHoldings: async ({userId, accountId}) =>
49
- request(`${resourceServerUrl}/accounts/${accountId}/holdings`, {
50
- cc: {
51
- scope: "accounts:read",
52
- sub: userId,
53
- },
54
- }),
55
-
56
- getAccountHoldingsWithMatches: async ({userId, accountId}) =>
57
- request(
58
- `${resourceServerUrl}/accounts/${accountId}/holdings-with-matches`,
59
- {
60
- cc: {
61
- scope: "accounts:read",
62
- sub: userId,
63
- },
64
- },
65
- ),
66
-
67
- getAccountHolding: async ({userId, accountId, holdingId}) =>
68
- request(
69
- `${resourceServerUrl}/accounts/${accountId}/holdings/${holdingId}`,
70
- {
71
- cc: {
72
- scope: "accounts:read",
73
- sub: userId,
74
- },
75
- },
76
- ),
77
-
78
- getAccountCounterparties: async ({userId, accountId}) =>
79
- request(`${resourceServerUrl}/accounts/${accountId}/counterparties`, {
80
- cc: {
81
- scope: "accounts:read transactions:read:all",
82
- sub: userId,
83
- },
84
- }),
85
-
86
- getAccountRecurringTransactions: async ({userId, accountId}) =>
87
- request(
88
- `${resourceServerUrl}/accounts/${accountId}/recurring-transactions`,
89
- {
90
- method: "POST",
91
- cc: {
92
- scope: "accounts:read transactions:read:all",
93
- sub: userId,
94
- },
95
- },
96
- ),
97
-
98
- getAccountStandingOrders: async ({userId, accountId}) =>
99
- request(
100
- `${resourceServerUrl}/accounts/${accountId}/standing-orders`,
101
- {
102
- cc: {
103
- scope: "accounts:read standing_orders:read",
104
- sub: userId,
105
- },
106
- },
107
- ),
108
-
109
- getAccountStandingOrdersWithDetail: async ({userId, accountId}) =>
110
- request(
111
- `${resourceServerUrl}/accounts/${accountId}/standing-orders`,
112
- {
113
- cc: {
114
- scope: "accounts:read standing_orders_detail:read",
115
- sub: userId,
116
- },
117
- },
118
- ),
119
-
120
- createAccount: async ({userId, account}) =>
121
- request(
122
- `${resourceServerUrl}/accounts`,
123
- {
124
- method: "POST",
125
- cc: {
126
- scope: "accounts:read accounts:write:all",
127
- sub: userId,
128
- },
129
- body: account
130
- },
131
- ),
132
-
133
- deleteAccount: async ({userId, accountId}) =>
134
- request(
135
- `${resourceServerUrl}/accounts/${accountId}`,
136
- {
137
- method: "DELETE",
138
- cc: {
139
- scope: "accounts:write:all",
140
- sub: userId,
141
- },
142
- returnStatus: true,
143
- },
144
- ),
145
- }
146
- }
@@ -1,61 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {identityServiceUrl} = config
3
- const authRequestEndpoint = identityServiceUrl + "/auth-requests"
4
-
5
- return {
6
- createAuthRequest: async ({
7
- redirectUri,
8
- payment,
9
- reversePayment,
10
- standingOrder,
11
- userId,
12
- connectionId,
13
- categorisationType,
14
- scope,
15
- permissions,
16
- }) =>
17
- request(authRequestEndpoint, {
18
- method: "POST",
19
- cc: {
20
- scope: "auth_requests:write",
21
- },
22
- body: {
23
- redirectUri,
24
- payment,
25
- reversePayment,
26
- standingOrder,
27
- userId,
28
- connectionId,
29
- scope,
30
- categorisationType,
31
- permissions,
32
- },
33
- }),
34
-
35
- completeAuthRequest: async ({id, authParams}) =>
36
- request(`${authRequestEndpoint}/${id}`, {
37
- method: "PATCH",
38
- cc: {
39
- scope: "auth_requests:write",
40
- },
41
- body: {
42
- authParams,
43
- },
44
- }),
45
-
46
- getAllAuthRequests: async (params) =>
47
- request(authRequestEndpoint, {
48
- searchParams: params,
49
- cc: {
50
- scope: "auth_requests:read",
51
- },
52
- }),
53
-
54
- getAuthRequest: async ({id}) =>
55
- request(`${authRequestEndpoint}/${id}`, {
56
- cc: {
57
- scope: "auth_requests:read",
58
- },
59
- }),
60
- }
61
- }
@@ -1,31 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
- const BENEFICIARIES_READ_SCOPE = "beneficiaries:read"
4
- const BENEFICIARIES_DETAIL_READ_SCOPE = "beneficiaries_detail:read"
5
- const getOneBeneficiary = ({id, userId, scope}) =>
6
- request(`${resourceServerUrl}/beneficiaries/${id}`, {
7
- cc: {
8
- sub: userId,
9
- scope,
10
- },
11
- })
12
-
13
- const getAllBeneficiaries = ({params, userId, scope}) =>
14
- request(`${resourceServerUrl}/beneficiaries`, {
15
- searchParams: params,
16
- cc: {
17
- sub: userId,
18
- scope,
19
- },
20
- })
21
- return {
22
- getBeneficiary: ({id, userId}) =>
23
- getOneBeneficiary({id, userId, scope: BENEFICIARIES_READ_SCOPE}),
24
- getBeneficiaryWithDetail: ({id, userId}) =>
25
- getOneBeneficiary({id, userId, scope: BENEFICIARIES_DETAIL_READ_SCOPE}),
26
- getBeneficiaries: ({userId, params = {}}) =>
27
- getAllBeneficiaries({params, userId, scope: BENEFICIARIES_READ_SCOPE}),
28
- getBeneficiariesWithDetail: ({userId, params = {}}) =>
29
- getAllBeneficiaries({params, userId, scope: BENEFICIARIES_DETAIL_READ_SCOPE})
30
- }
31
- }
@@ -1,55 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
-
4
- return {
5
- getCategories: async ({userId, params = {}}) =>
6
- request(`${resourceServerUrl}/categories`, {
7
- searchParams: params,
8
- cc: {
9
- scope: "categories:read",
10
- sub: userId,
11
- },
12
- }),
13
-
14
- getStandardCategories: async ({params = {}}) =>
15
- request(`${resourceServerUrl}/standard-categories`, {
16
- searchParams: params,
17
- }),
18
-
19
- getCategory: async ({userId, categoryId, params = {}}) =>
20
- request(`${resourceServerUrl}/categories/${categoryId}`, {
21
- searchParams: params,
22
- cc: {
23
- scope: "categories:read",
24
- sub: userId,
25
- },
26
- }),
27
-
28
- getCategoryGroups: async ({userId, params = {}}) =>
29
- request(`${resourceServerUrl}/category-groups`, {
30
- searchParams: params,
31
- cc: {
32
- scope: "categories:read",
33
- sub: userId,
34
- },
35
- }),
36
-
37
- getStandardCategoryGroups: async ({params = {}}) =>
38
- request(`${resourceServerUrl}/standard-category-groups`, {
39
- searchParams: params,
40
- }),
41
-
42
- createCustomCategory: async ({userId, category: {group, name}}) =>
43
- request(`${resourceServerUrl}/categories`, {
44
- method: "POST",
45
- cc: {
46
- scope: "categories:read categories:write",
47
- sub: userId,
48
- },
49
- body: {
50
- group,
51
- name
52
- }
53
- }),
54
- }
55
- }
@@ -1,29 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {identityServiceUrl} = config
3
-
4
- return {
5
- addPayee: async ({accountNumber, sortCode, name, externalId, userId}) =>
6
- request(`${identityServiceUrl}/payees`, {
7
- method: "POST",
8
- body: {accountNumber, sortCode, name, externalId, userId},
9
- cc: {
10
- scope: "payee:create",
11
- },
12
- }),
13
-
14
- getPayees: (params = {}) =>
15
- request(`${identityServiceUrl}/payees`, {
16
- searchParams: params,
17
- cc: {
18
- scope: "payee:read",
19
- },
20
- }),
21
-
22
- getPayee: async ({id}) =>
23
- request(`${identityServiceUrl}/payees/${id}`, {
24
- cc: {
25
- scope: "payee:read",
26
- },
27
- }),
28
- }
29
- }
@@ -1,35 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {identityServiceUrl} = config
3
-
4
- const getPayment = ({id}) =>
5
- request(`${identityServiceUrl}/payments/${id}`, {
6
- cc: {
7
- scope: "payment:read",
8
- },
9
- })
10
-
11
- return {
12
- getPayment,
13
- getPayments: (params = {}) =>
14
- request(`${identityServiceUrl}/payments`, {
15
- searchParams: params,
16
- cc: {
17
- scope: "payment:read",
18
- },
19
- }),
20
-
21
- getPaymentFromIDToken: async ({idToken}) => {
22
- try {
23
- const payload = JSON.parse(
24
- Buffer.from(idToken.split(".")[1], "base64").toString(),
25
- )
26
- const paymentId = payload["mh:payment"]
27
- return getPayment({id: paymentId})
28
- } catch (e) {
29
- throw new Error(
30
- "Error retrieving payment from passed in ID Token: " + e.message,
31
- )
32
- }
33
- },
34
- }
35
- }
@@ -1,51 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
-
4
- return {
5
- getProjects: async ({userId, params = {}}) =>
6
- request(`${resourceServerUrl}/projects`, {
7
- searchParams: params,
8
- cc: {
9
- scope: "projects:read",
10
- sub: userId,
11
- },
12
- }),
13
- getProject: async ({userId, projectId}) =>
14
- request(`${resourceServerUrl}/projects/${projectId}`, {
15
- cc: {
16
- scope: "projects:read",
17
- sub: userId,
18
- },
19
- }),
20
-
21
- addProject: async ({userId, project}) =>
22
- request(`${resourceServerUrl}/projects`, {
23
- method: "POST",
24
- cc: {
25
- scope: "projects:write",
26
- sub: userId,
27
- },
28
- body: project,
29
- }),
30
-
31
- updateProject: async ({userId, projectId, project}) =>
32
- request(`${resourceServerUrl}/projects/${projectId}`, {
33
- method: "PATCH",
34
- cc: {
35
- scope: "projects:write",
36
- sub: userId,
37
- },
38
- body: project,
39
- }),
40
-
41
- deleteProject: async ({userId, projectId}) =>
42
- request(`${resourceServerUrl}/projects/${projectId}`, {
43
- method: "DELETE",
44
- cc: {
45
- scope: "projects:delete",
46
- sub: userId,
47
- },
48
- returnStatus: true,
49
- }),
50
- }
51
- }
@@ -1,37 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {identityServiceUrl} = config
3
-
4
- return {
5
- getRecurringPayments: async (params = {}) =>
6
- request(`${identityServiceUrl}/recurring-payments`, {
7
- searchParams: params,
8
- cc: {
9
- scope: "recurring_payment:read",
10
- },
11
- }),
12
-
13
- getRecurringPayment: async ({recurringPaymentId}) =>
14
- request(`${identityServiceUrl}/recurring-payments/${recurringPaymentId}`, {
15
- cc: {
16
- scope: "recurring_payment:read",
17
- },
18
- }),
19
-
20
- makeRecurringPayment: async ({recurringPaymentId, payment}) =>
21
- request(`${identityServiceUrl}/recurring-payments/${recurringPaymentId}/pay`, {
22
- method: "POST",
23
- body: payment,
24
- cc: {
25
- scope: "recurring_payment:create",
26
- },
27
- }),
28
-
29
- revokeRecurringPayment: async ({recurringPaymentId}) =>
30
- request(`${identityServiceUrl}/recurring-payments/${recurringPaymentId}`, {
31
- method: "DELETE",
32
- cc: {
33
- scope: "recurring_payment:create",
34
- },
35
- }),
36
- }
37
- }
@@ -1,17 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
-
4
- return {
5
- getRegularTransactions: async ({userId, params}) =>
6
- request(
7
- `${resourceServerUrl}/regular-transactions`,
8
- {
9
- searchParams: params,
10
- cc: {
11
- scope: "accounts:read regular_transactions:read transactions:read:all",
12
- sub: userId,
13
- },
14
- },
15
- ),
16
- }
17
- }
@@ -1,41 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
-
4
- return {
5
- getRentalRecords: async ({userId}) =>
6
- request(
7
- `${resourceServerUrl}/rental-records`,
8
- {
9
- cc: {
10
- scope: "rental_records:read",
11
- sub: userId,
12
- },
13
- },
14
- ),
15
- createRentalRecord: async ({userId, rentalData}) => {
16
- return await request(
17
- `${resourceServerUrl}/rental-records`,
18
- {
19
- method: "POST",
20
- cc: {
21
- scope: "rental_records:write",
22
- sub: userId,
23
- },
24
- body: rentalData,
25
- },
26
- )
27
- },
28
- deleteRentalRecord: async ({userId, rentalId}) => {
29
- return await request(
30
- `${resourceServerUrl}/rental-records/${rentalId}`,
31
- {
32
- method: "DELETE",
33
- cc: {
34
- scope: "rental_records:write",
35
- sub: userId,
36
- },
37
- },
38
- )
39
- },
40
- }
41
- }
@@ -1,49 +0,0 @@
1
- module.exports = ({config, request}) => {
2
- const {resourceServerUrl} = config
3
- const savingsGoalsEndpoint = resourceServerUrl + "/savings-goals"
4
-
5
- return {
6
- getSavingsGoals: async (params = {}, userId) =>
7
- request(savingsGoalsEndpoint, {
8
- searchParams: params,
9
- cc: {
10
- scope: "savings_goals:read",
11
- sub: userId,
12
- },
13
- }),
14
- getSavingsGoal: async ({goalId, userId}) =>
15
- request(`${savingsGoalsEndpoint}/${goalId}`, {
16
- cc: {
17
- scope: "savings_goals:read",
18
- sub: userId,
19
- },
20
- }),
21
- createSavingsGoal: async ({name, imageUrl, notes, accounts, amount, userId}) =>
22
- request(savingsGoalsEndpoint, {
23
- method: "POST",
24
- cc: {
25
- scope: "savings_goals:read savings_goals:write:all",
26
- sub: userId,
27
- },
28
- body: {name, imageUrl, notes, accounts, amount},
29
- }),
30
- updateSavingsGoal: async ({goalId, name, amount, imageUrl, notes, accounts, userId}) =>
31
- request(`${savingsGoalsEndpoint}/${goalId}`, {
32
- method: "PATCH",
33
- cc: {
34
- scope: "savings_goals:read savings_goals:write",
35
- sub: userId,
36
- },
37
- body: {name, amount, imageUrl, notes, accounts},
38
- }),
39
- deleteSavingsGoal: async ({goalId, userId}) =>
40
- request(`${savingsGoalsEndpoint}/${goalId}`, {
41
- method: "DELETE",
42
- cc: {
43
- scope: "savings_goals:write:all",
44
- sub: userId,
45
- },
46
- returnStatus: true
47
- }),
48
- }
49
- }