@things-factory/accounting 10.1.134 → 10.1.135

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 (234) hide show
  1. package/dist-client/route.d.ts +1 -1
  2. package/dist-client/route.js +0 -12
  3. package/dist-client/route.js.map +1 -1
  4. package/dist-client/tsconfig.tsbuildinfo +1 -1
  5. package/dist-server/index.d.ts +0 -1
  6. package/dist-server/index.js +0 -1
  7. package/dist-server/index.js.map +1 -1
  8. package/dist-server/service/account/account-history.d.ts +13 -6
  9. package/dist-server/service/account/account-history.js +44 -17
  10. package/dist-server/service/account/account-history.js.map +1 -1
  11. package/dist-server/service/account/account-mutation.js +2 -2
  12. package/dist-server/service/account/account-mutation.js.map +1 -1
  13. package/dist-server/service/account/account-type.d.ts +16 -0
  14. package/dist-server/service/account/account-type.js +71 -13
  15. package/dist-server/service/account/account-type.js.map +1 -1
  16. package/dist-server/service/account/account.d.ts +9 -3
  17. package/dist-server/service/account/account.js +34 -8
  18. package/dist-server/service/account/account.js.map +1 -1
  19. package/dist-server/service/accounting-category/accounting-category-mutation.js +2 -2
  20. package/dist-server/service/accounting-category/accounting-category-mutation.js.map +1 -1
  21. package/dist-server/service/accounting-document/accounting-document-mutation.js +12 -3
  22. package/dist-server/service/accounting-document/accounting-document-mutation.js.map +1 -1
  23. package/dist-server/service/accounting-document/accounting-document-query.js +2 -0
  24. package/dist-server/service/accounting-document/accounting-document-query.js.map +1 -1
  25. package/dist-server/service/bank-account/bank-account-history.d.ts +11 -14
  26. package/dist-server/service/bank-account/bank-account-history.js +46 -59
  27. package/dist-server/service/bank-account/bank-account-history.js.map +1 -1
  28. package/dist-server/service/bank-account/bank-account-mutation.d.ts +1 -2
  29. package/dist-server/service/bank-account/bank-account-mutation.js +25 -69
  30. package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -1
  31. package/dist-server/service/bank-account/bank-account-query.js +2 -0
  32. package/dist-server/service/bank-account/bank-account-query.js.map +1 -1
  33. package/dist-server/service/bank-account/bank-account-service.d.ts +5 -0
  34. package/dist-server/service/bank-account/bank-account-service.js +21 -0
  35. package/dist-server/service/bank-account/bank-account-service.js.map +1 -0
  36. package/dist-server/service/bank-account/bank-account-type.d.ts +13 -19
  37. package/dist-server/service/bank-account/bank-account-type.js +45 -69
  38. package/dist-server/service/bank-account/bank-account-type.js.map +1 -1
  39. package/dist-server/service/bank-account/bank-account.d.ts +14 -17
  40. package/dist-server/service/bank-account/bank-account.js +45 -57
  41. package/dist-server/service/bank-account/bank-account.js.map +1 -1
  42. package/dist-server/service/bank-statement/bank-statement-query.d.ts +14 -0
  43. package/dist-server/service/bank-statement/bank-statement-query.js +92 -0
  44. package/dist-server/service/bank-statement/bank-statement-query.js.map +1 -0
  45. package/dist-server/service/bank-statement/bank-statement.d.ts +26 -0
  46. package/dist-server/service/bank-statement/bank-statement.js +109 -0
  47. package/dist-server/service/bank-statement/bank-statement.js.map +1 -0
  48. package/dist-server/service/bank-statement/index.d.ts +5 -0
  49. package/dist-server/service/bank-statement/index.js +9 -0
  50. package/dist-server/service/bank-statement/index.js.map +1 -0
  51. package/dist-server/service/cash-flow-type.d.ts +5 -0
  52. package/dist-server/service/cash-flow-type.js +15 -0
  53. package/dist-server/service/cash-flow-type.js.map +1 -0
  54. package/dist-server/service/financial-institution/financial-institution-mutation.js +10 -1
  55. package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -1
  56. package/dist-server/service/financial-institution/financial-institution-query.js +14 -6
  57. package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -1
  58. package/dist-server/service/financial-institution/index.d.ts +1 -1
  59. package/dist-server/service/financial-statement/financial-statement-history.d.ts +11 -9
  60. package/dist-server/service/financial-statement/financial-statement-history.js +47 -36
  61. package/dist-server/service/financial-statement/financial-statement-history.js.map +1 -1
  62. package/dist-server/service/financial-statement/financial-statement-line.d.ts +24 -0
  63. package/dist-server/service/financial-statement/financial-statement-line.js +108 -0
  64. package/dist-server/service/financial-statement/financial-statement-line.js.map +1 -0
  65. package/dist-server/service/financial-statement/financial-statement-mutation.d.ts +1 -8
  66. package/dist-server/service/financial-statement/financial-statement-mutation.js +10 -135
  67. package/dist-server/service/financial-statement/financial-statement-mutation.js.map +1 -1
  68. package/dist-server/service/financial-statement/financial-statement-query.d.ts +8 -7
  69. package/dist-server/service/financial-statement/financial-statement-query.js +40 -30
  70. package/dist-server/service/financial-statement/financial-statement-query.js.map +1 -1
  71. package/dist-server/service/financial-statement/financial-statement-service.d.ts +33 -0
  72. package/dist-server/service/financial-statement/financial-statement-service.js +44 -0
  73. package/dist-server/service/financial-statement/financial-statement-service.js.map +1 -0
  74. package/dist-server/service/financial-statement/financial-statement.d.ts +19 -11
  75. package/dist-server/service/financial-statement/financial-statement.js +73 -65
  76. package/dist-server/service/financial-statement/financial-statement.js.map +1 -1
  77. package/dist-server/service/financial-statement/index.d.ts +3 -2
  78. package/dist-server/service/financial-statement/index.js +2 -2
  79. package/dist-server/service/financial-statement/index.js.map +1 -1
  80. package/dist-server/service/index.d.ts +15 -3
  81. package/dist-server/service/index.js +30 -13
  82. package/dist-server/service/index.js.map +1 -1
  83. package/dist-server/service/payment/index.d.ts +1 -0
  84. package/dist-server/service/payment/index.js +1 -0
  85. package/dist-server/service/payment/index.js.map +1 -1
  86. package/dist-server/service/payment/payment-history.d.ts +9 -16
  87. package/dist-server/service/payment/payment-history.js +36 -70
  88. package/dist-server/service/payment/payment-history.js.map +1 -1
  89. package/dist-server/service/payment/payment-mutation.d.ts +0 -1
  90. package/dist-server/service/payment/payment-mutation.js +14 -79
  91. package/dist-server/service/payment/payment-mutation.js.map +1 -1
  92. package/dist-server/service/payment/payment-query.d.ts +3 -0
  93. package/dist-server/service/payment/payment-query.js +30 -1
  94. package/dist-server/service/payment/payment-query.js.map +1 -1
  95. package/dist-server/service/payment/payment-service.d.ts +16 -0
  96. package/dist-server/service/payment/payment-service.js +140 -0
  97. package/dist-server/service/payment/payment-service.js.map +1 -0
  98. package/dist-server/service/payment/payment-targets.d.ts +31 -0
  99. package/dist-server/service/payment/payment-targets.js +19 -0
  100. package/dist-server/service/payment/payment-targets.js.map +1 -0
  101. package/dist-server/service/payment/payment-type.d.ts +13 -17
  102. package/dist-server/service/payment/payment-type.js +35 -51
  103. package/dist-server/service/payment/payment-type.js.map +1 -1
  104. package/dist-server/service/payment/payment.d.ts +23 -22
  105. package/dist-server/service/payment/payment.js +66 -94
  106. package/dist-server/service/payment/payment.js.map +1 -1
  107. package/dist-server/service/payment/transfer-target.d.ts +1 -0
  108. package/dist-server/service/payment/transfer-target.js +43 -0
  109. package/dist-server/service/payment/transfer-target.js.map +1 -0
  110. package/dist-server/service/recurring-cash-item/index.d.ts +6 -0
  111. package/dist-server/service/recurring-cash-item/index.js +10 -0
  112. package/dist-server/service/recurring-cash-item/index.js.map +1 -0
  113. package/dist-server/service/recurring-cash-item/recurring-cash-item-mutation.d.ts +7 -0
  114. package/dist-server/service/recurring-cash-item/recurring-cash-item-mutation.js +63 -0
  115. package/dist-server/service/recurring-cash-item/recurring-cash-item-mutation.js.map +1 -0
  116. package/dist-server/service/recurring-cash-item/recurring-cash-item-query.d.ts +15 -0
  117. package/dist-server/service/recurring-cash-item/recurring-cash-item-query.js +101 -0
  118. package/dist-server/service/recurring-cash-item/recurring-cash-item-query.js.map +1 -0
  119. package/dist-server/service/recurring-cash-item/recurring-cash-item-service.d.ts +23 -0
  120. package/dist-server/service/recurring-cash-item/recurring-cash-item-service.js +91 -0
  121. package/dist-server/service/recurring-cash-item/recurring-cash-item-service.js.map +1 -0
  122. package/dist-server/service/recurring-cash-item/recurring-cash-item-type.d.ts +23 -0
  123. package/dist-server/service/recurring-cash-item/recurring-cash-item-type.js +85 -0
  124. package/dist-server/service/recurring-cash-item/recurring-cash-item-type.js.map +1 -0
  125. package/dist-server/service/recurring-cash-item/recurring-cash-item.d.ts +35 -0
  126. package/dist-server/service/recurring-cash-item/recurring-cash-item.js +142 -0
  127. package/dist-server/service/recurring-cash-item/recurring-cash-item.js.map +1 -0
  128. package/dist-server/service/recurring-cash-item/recurring-schedule.d.ts +36 -0
  129. package/dist-server/service/recurring-cash-item/recurring-schedule.js +41 -0
  130. package/dist-server/service/recurring-cash-item/recurring-schedule.js.map +1 -0
  131. package/dist-server/service/transaction/transaction-history.d.ts +42 -15
  132. package/dist-server/service/transaction/transaction-history.js +160 -54
  133. package/dist-server/service/transaction/transaction-history.js.map +1 -1
  134. package/dist-server/service/transaction/transaction-mutation.d.ts +0 -1
  135. package/dist-server/service/transaction/transaction-mutation.js +13 -78
  136. package/dist-server/service/transaction/transaction-mutation.js.map +1 -1
  137. package/dist-server/service/transaction/transaction-period.d.ts +16 -0
  138. package/dist-server/service/transaction/transaction-period.js +49 -0
  139. package/dist-server/service/transaction/transaction-period.js.map +1 -0
  140. package/dist-server/service/transaction/transaction-query.d.ts +12 -0
  141. package/dist-server/service/transaction/transaction-query.js +84 -2
  142. package/dist-server/service/transaction/transaction-query.js.map +1 -1
  143. package/dist-server/service/transaction/transaction-service.d.ts +30 -0
  144. package/dist-server/service/transaction/transaction-service.js +130 -0
  145. package/dist-server/service/transaction/transaction-service.js.map +1 -0
  146. package/dist-server/service/transaction/transaction-type.d.ts +39 -7
  147. package/dist-server/service/transaction/transaction-type.js +145 -23
  148. package/dist-server/service/transaction/transaction-type.js.map +1 -1
  149. package/dist-server/service/transaction/transaction.d.ts +58 -31
  150. package/dist-server/service/transaction/transaction.js +216 -102
  151. package/dist-server/service/transaction/transaction.js.map +1 -1
  152. package/dist-server/tsconfig.tsbuildinfo +1 -1
  153. package/package.json +5 -3
  154. package/things-factory.config.js +0 -4
  155. package/translations/en.json +34 -2
  156. package/translations/ja.json +0 -1
  157. package/translations/ko.json +34 -2
  158. package/translations/ms.json +0 -1
  159. package/translations/zh.json +0 -1
  160. package/dist-client/pages/account/account-importer.d.ts +0 -22
  161. package/dist-client/pages/account/account-importer.js +0 -99
  162. package/dist-client/pages/account/account-importer.js.map +0 -1
  163. package/dist-client/pages/account/account-list-page.d.ts +0 -57
  164. package/dist-client/pages/account/account-list-page.js +0 -306
  165. package/dist-client/pages/account/account-list-page.js.map +0 -1
  166. package/dist-client/pages/bank-account/bank-account-importer.d.ts +0 -23
  167. package/dist-client/pages/bank-account/bank-account-importer.js +0 -92
  168. package/dist-client/pages/bank-account/bank-account-importer.js.map +0 -1
  169. package/dist-client/pages/bank-account/bank-account-list-page.d.ts +0 -60
  170. package/dist-client/pages/bank-account/bank-account-list-page.js +0 -317
  171. package/dist-client/pages/bank-account/bank-account-list-page.js.map +0 -1
  172. package/dist-client/pages/financial-statement/financial-statement-importer.d.ts +0 -22
  173. package/dist-client/pages/financial-statement/financial-statement-importer.js +0 -99
  174. package/dist-client/pages/financial-statement/financial-statement-importer.js.map +0 -1
  175. package/dist-client/pages/financial-statement/financial-statement-list-page.d.ts +0 -57
  176. package/dist-client/pages/financial-statement/financial-statement-list-page.js +0 -280
  177. package/dist-client/pages/financial-statement/financial-statement-list-page.js.map +0 -1
  178. package/dist-client/pages/income-statement/income-statement-importer.d.ts +0 -22
  179. package/dist-client/pages/income-statement/income-statement-importer.js +0 -99
  180. package/dist-client/pages/income-statement/income-statement-importer.js.map +0 -1
  181. package/dist-client/pages/income-statement/income-statement-list-page.d.ts +0 -57
  182. package/dist-client/pages/income-statement/income-statement-list-page.js +0 -280
  183. package/dist-client/pages/income-statement/income-statement-list-page.js.map +0 -1
  184. package/dist-client/pages/payment/payment-importer.d.ts +0 -23
  185. package/dist-client/pages/payment/payment-importer.js +0 -92
  186. package/dist-client/pages/payment/payment-importer.js.map +0 -1
  187. package/dist-client/pages/payment/payment-list-page.d.ts +0 -60
  188. package/dist-client/pages/payment/payment-list-page.js +0 -317
  189. package/dist-client/pages/payment/payment-list-page.js.map +0 -1
  190. package/dist-client/pages/transaction/transaction-importer.d.ts +0 -22
  191. package/dist-client/pages/transaction/transaction-importer.js +0 -99
  192. package/dist-client/pages/transaction/transaction-importer.js.map +0 -1
  193. package/dist-client/pages/transaction/transaction-list-page.d.ts +0 -57
  194. package/dist-client/pages/transaction/transaction-list-page.js +0 -280
  195. package/dist-client/pages/transaction/transaction-list-page.js.map +0 -1
  196. package/dist-server/controllers/index.d.ts +0 -1
  197. package/dist-server/controllers/index.js +0 -5
  198. package/dist-server/controllers/index.js.map +0 -1
  199. package/dist-server/controllers/summary-statements.d.ts +0 -4
  200. package/dist-server/controllers/summary-statements.js +0 -149
  201. package/dist-server/controllers/summary-statements.js.map +0 -1
  202. package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +0 -5
  203. package/dist-server/migrations/1725201567284-seed-country-codes.js +0 -255
  204. package/dist-server/migrations/1725201567284-seed-country-codes.js.map +0 -1
  205. package/dist-server/service/financial-statement/financial-statement-line-item.d.ts +0 -19
  206. package/dist-server/service/financial-statement/financial-statement-line-item.js +0 -95
  207. package/dist-server/service/financial-statement/financial-statement-line-item.js.map +0 -1
  208. package/dist-server/service/financial-statement/financial-statement-type.d.ts +0 -20
  209. package/dist-server/service/financial-statement/financial-statement-type.js +0 -77
  210. package/dist-server/service/financial-statement/financial-statement-type.js.map +0 -1
  211. package/dist-server/service/income-statement/event-subscriber.d.ts +0 -7
  212. package/dist-server/service/income-statement/event-subscriber.js +0 -21
  213. package/dist-server/service/income-statement/event-subscriber.js.map +0 -1
  214. package/dist-server/service/income-statement/income-statement-history.d.ts +0 -28
  215. package/dist-server/service/income-statement/income-statement-history.js +0 -146
  216. package/dist-server/service/income-statement/income-statement-history.js.map +0 -1
  217. package/dist-server/service/income-statement/income-statement-line-item.d.ts +0 -19
  218. package/dist-server/service/income-statement/income-statement-line-item.js +0 -97
  219. package/dist-server/service/income-statement/income-statement-line-item.js.map +0 -1
  220. package/dist-server/service/income-statement/income-statement-mutation.d.ts +0 -10
  221. package/dist-server/service/income-statement/income-statement-mutation.js +0 -159
  222. package/dist-server/service/income-statement/income-statement-mutation.js.map +0 -1
  223. package/dist-server/service/income-statement/income-statement-query.d.ts +0 -11
  224. package/dist-server/service/income-statement/income-statement-query.js +0 -81
  225. package/dist-server/service/income-statement/income-statement-query.js.map +0 -1
  226. package/dist-server/service/income-statement/income-statement-type.d.ts +0 -20
  227. package/dist-server/service/income-statement/income-statement-type.js +0 -77
  228. package/dist-server/service/income-statement/income-statement-type.js.map +0 -1
  229. package/dist-server/service/income-statement/income-statement.d.ts +0 -28
  230. package/dist-server/service/income-statement/income-statement.js +0 -137
  231. package/dist-server/service/income-statement/income-statement.js.map +0 -1
  232. package/dist-server/service/income-statement/index.d.ts +0 -8
  233. package/dist-server/service/income-statement/index.js +0 -13
  234. package/dist-server/service/income-statement/index.js.map +0 -1
@@ -3,95 +3,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BankAccountMutation = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
- const typeorm_1 = require("typeorm");
7
6
  const shell_1 = require("@things-factory/shell");
8
7
  const bank_account_1 = require("./bank-account");
8
+ const bank_account_service_1 = require("./bank-account-service");
9
9
  const bank_account_type_1 = require("./bank-account-type");
10
10
  let BankAccountMutation = class BankAccountMutation {
11
11
  async createBankAccount(bankAccount, context) {
12
12
  const { domain, user, tx } = context.state;
13
- const result = await (0, shell_1.getRepository)(bank_account_1.BankAccount, tx).save({
14
- ...bankAccount,
15
- domain,
16
- creator: user,
17
- updater: user
18
- });
19
- return result;
13
+ return await (0, shell_1.getRepository)(bank_account_1.BankAccount, tx).save({ ...bankAccount, domain, creator: user, updater: user });
20
14
  }
21
15
  async updateBankAccount(id, patch, context) {
22
16
  const { domain, user, tx } = context.state;
23
17
  const repository = (0, shell_1.getRepository)(bank_account_1.BankAccount, tx);
24
- const bankAccount = await repository.findOne({
25
- where: { domain: { id: domain.id }, id }
26
- });
27
- const result = await repository.save({
28
- ...bankAccount,
29
- ...patch,
30
- updater: user
31
- });
32
- return result;
18
+ const bankAccount = await repository.findOne({ where: { domain: { id: domain.id }, id } });
19
+ if (!bankAccount)
20
+ throw new shell_1.Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again');
21
+ return await repository.save({ ...bankAccount, ...patch, updater: user });
33
22
  }
34
23
  async updateMultipleBankAccount(patches, context) {
35
24
  const { domain, user, tx } = context.state;
36
- let results = [];
37
- const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
38
- const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
39
- const bankAccountRepo = (0, shell_1.getRepository)(bank_account_1.BankAccount, tx);
40
- if (_createRecords.length > 0) {
41
- for (let i = 0; i < _createRecords.length; i++) {
42
- const newRecord = _createRecords[i];
43
- const result = await bankAccountRepo.save({
44
- ...newRecord,
45
- domain,
46
- creator: user,
47
- updater: user
48
- });
49
- results.push({ ...result, cuFlag: '+' });
25
+ const repository = (0, shell_1.getRepository)(bank_account_1.BankAccount, tx);
26
+ const results = [];
27
+ for (const { cuFlag, ...patch } of patches) {
28
+ if (cuFlag?.toUpperCase() === '+') {
29
+ results.push({ ...(await repository.save({ ...patch, domain, creator: user, updater: user })), cuFlag: '+' });
50
30
  }
51
- }
52
- if (_updateRecords.length > 0) {
53
- for (let i = 0; i < _updateRecords.length; i++) {
54
- const updateRecord = _updateRecords[i];
55
- const bankAccount = await bankAccountRepo.findOne({
56
- where: { domain: { id: domain.id }, id: updateRecord.id }
57
- });
58
- if (!bankAccount) {
59
- throw new Error(`failed to find bankAccount to update: ${updateRecord.id}`);
60
- }
61
- const result = await bankAccountRepo.save({
62
- ...bankAccount,
63
- ...updateRecord,
64
- updater: user
65
- });
66
- results.push({ ...result, cuFlag: 'M' });
31
+ else if (cuFlag?.toUpperCase() === 'M') {
32
+ const bankAccount = await repository.findOne({ where: { domain: { id: domain.id }, id: patch.id } });
33
+ if (!bankAccount)
34
+ throw new shell_1.Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again');
35
+ results.push({ ...(await repository.save({ ...bankAccount, ...patch, updater: user })), cuFlag: 'M' });
67
36
  }
68
37
  }
69
38
  return results;
70
39
  }
71
40
  async deleteBankAccount(id, context) {
72
41
  const { domain, tx } = context.state;
73
- await (0, shell_1.getRepository)(bank_account_1.BankAccount, tx).delete({ domain: { id: domain.id }, id });
42
+ await (0, bank_account_service_1.deleteBankAccounts)(tx, domain, [id]);
74
43
  return true;
75
44
  }
76
45
  async deleteBankAccounts(ids, context) {
77
46
  const { domain, tx } = context.state;
78
- await (0, shell_1.getRepository)(bank_account_1.BankAccount, tx).delete({
79
- domain: { id: domain.id },
80
- id: (0, typeorm_1.In)(ids)
81
- });
82
- return true;
83
- }
84
- async importBankAccounts(bankAccounts, context) {
85
- const { domain, tx } = context.state;
86
- await Promise.all(bankAccounts.map(async (bankAccount) => {
87
- const createdBankAccount = await (0, shell_1.getRepository)(bank_account_1.BankAccount, tx).save({ domain, ...bankAccount });
88
- }));
47
+ await (0, bank_account_service_1.deleteBankAccounts)(tx, domain, ids);
89
48
  return true;
90
49
  }
91
50
  };
92
51
  exports.BankAccountMutation = BankAccountMutation;
93
52
  tslib_1.__decorate([
94
53
  (0, type_graphql_1.Directive)('@transaction'),
54
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "mutation", domainOwnerGranted: true)'),
95
55
  (0, type_graphql_1.Mutation)(returns => bank_account_1.BankAccount, { description: 'To create new BankAccount' }),
96
56
  tslib_1.__param(0, (0, type_graphql_1.Arg)('bankAccount')),
97
57
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -101,6 +61,7 @@ tslib_1.__decorate([
101
61
  ], BankAccountMutation.prototype, "createBankAccount", null);
102
62
  tslib_1.__decorate([
103
63
  (0, type_graphql_1.Directive)('@transaction'),
64
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "mutation", domainOwnerGranted: true)'),
104
65
  (0, type_graphql_1.Mutation)(returns => bank_account_1.BankAccount, { description: 'To modify BankAccount information' }),
105
66
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
106
67
  tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
@@ -111,6 +72,7 @@ tslib_1.__decorate([
111
72
  ], BankAccountMutation.prototype, "updateBankAccount", null);
112
73
  tslib_1.__decorate([
113
74
  (0, type_graphql_1.Directive)('@transaction'),
75
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "mutation", domainOwnerGranted: true)'),
114
76
  (0, type_graphql_1.Mutation)(returns => [bank_account_1.BankAccount], { description: "To modify multiple BankAccounts' information" }),
115
77
  tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [bank_account_type_1.BankAccountPatch])),
116
78
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -120,6 +82,7 @@ tslib_1.__decorate([
120
82
  ], BankAccountMutation.prototype, "updateMultipleBankAccount", null);
121
83
  tslib_1.__decorate([
122
84
  (0, type_graphql_1.Directive)('@transaction'),
85
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "mutation", domainOwnerGranted: true)'),
123
86
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete BankAccount' }),
124
87
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
125
88
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -129,6 +92,7 @@ tslib_1.__decorate([
129
92
  ], BankAccountMutation.prototype, "deleteBankAccount", null);
130
93
  tslib_1.__decorate([
131
94
  (0, type_graphql_1.Directive)('@transaction'),
95
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "mutation", domainOwnerGranted: true)'),
132
96
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple BankAccounts' }),
133
97
  tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
134
98
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -136,16 +100,8 @@ tslib_1.__decorate([
136
100
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
137
101
  tslib_1.__metadata("design:returntype", Promise)
138
102
  ], BankAccountMutation.prototype, "deleteBankAccounts", null);
139
- tslib_1.__decorate([
140
- (0, type_graphql_1.Directive)('@transaction'),
141
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple BankAccounts' }),
142
- tslib_1.__param(0, (0, type_graphql_1.Arg)('bankAccounts', type => [bank_account_type_1.BankAccountPatch])),
143
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
144
- tslib_1.__metadata("design:type", Function),
145
- tslib_1.__metadata("design:paramtypes", [Array, Object]),
146
- tslib_1.__metadata("design:returntype", Promise)
147
- ], BankAccountMutation.prototype, "importBankAccounts", null);
148
103
  exports.BankAccountMutation = BankAccountMutation = tslib_1.__decorate([
149
- (0, type_graphql_1.Resolver)(bank_account_1.BankAccount)
104
+ (0, type_graphql_1.Resolver)(bank_account_1.BankAccount),
105
+ (0, type_graphql_1.UseMiddleware)(shell_1.SpeakRefusals)
150
106
  ], BankAccountMutation);
151
107
  //# sourceMappingURL=bank-account-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bank-account-mutation.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { getRepository } from '@things-factory/shell'\n\nimport { BankAccount } from './bank-account'\nimport { NewBankAccount, BankAccountPatch } from './bank-account-type'\n\n@Resolver(BankAccount)\nexport class BankAccountMutation {\n @Directive('@transaction')\n @Mutation(returns => BankAccount, { description: 'To create new BankAccount' })\n async createBankAccount(@Arg('bankAccount') bankAccount: NewBankAccount, @Ctx() context: ResolverContext): Promise<BankAccount> {\n const { domain, user, tx } = context.state\n\n const result = await getRepository(BankAccount, tx).save({\n ...bankAccount,\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => BankAccount, { description: 'To modify BankAccount information' })\n async updateBankAccount(\n @Arg('id') id: string,\n @Arg('patch') patch: BankAccountPatch,\n @Ctx() context: ResolverContext\n ): Promise<BankAccount> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(BankAccount, tx)\n const bankAccount = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...bankAccount,\n ...patch,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [BankAccount], { description: \"To modify multiple BankAccounts' information\" })\n async updateMultipleBankAccount(\n @Arg('patches', type => [BankAccountPatch]) patches: BankAccountPatch[],\n @Ctx() context: ResolverContext\n ): Promise<BankAccount[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const bankAccountRepo = getRepository(BankAccount, tx)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await bankAccountRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const bankAccount = await bankAccountRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!bankAccount) {\n throw new Error(`failed to find bankAccount to update: ${updateRecord.id}`)\n }\n\n const result = await bankAccountRepo.save({\n ...bankAccount,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete BankAccount' })\n async deleteBankAccount(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(BankAccount, tx).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple BankAccounts' })\n async deleteBankAccounts(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(BankAccount, tx).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple BankAccounts' })\n async importBankAccounts(\n @Arg('bankAccounts', type => [BankAccountPatch]) bankAccounts: BankAccountPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n bankAccounts.map(async (bankAccount: BankAccountPatch) => {\n const createdBankAccount: BankAccount = await getRepository(BankAccount, tx).save({ domain, ...bankAccount })\n })\n )\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"bank-account-mutation.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive, UseMiddleware } from 'type-graphql'\n\nimport { getRepository, Refusal, SpeakRefusals } from '@things-factory/shell'\n\nimport { BankAccount } from './bank-account'\nimport { deleteBankAccounts } from './bank-account-service'\nimport { BankAccountPatch, NewBankAccount } from './bank-account-type'\n\n@Resolver(BankAccount)\n@UseMiddleware(SpeakRefusals)\nexport class BankAccountMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"accounting\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BankAccount, { description: 'To create new BankAccount' })\n async createBankAccount(\n @Arg('bankAccount') bankAccount: NewBankAccount,\n @Ctx() context: ResolverContext\n ): Promise<BankAccount> {\n const { domain, user, tx } = context.state\n\n return await getRepository(BankAccount, tx).save({ ...bankAccount, domain, creator: user, updater: user })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"accounting\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BankAccount, { description: 'To modify BankAccount information' })\n async updateBankAccount(\n @Arg('id') id: string,\n @Arg('patch') patch: BankAccountPatch,\n @Ctx() context: ResolverContext\n ): Promise<BankAccount> {\n const { domain, user, tx } = context.state\n const repository = getRepository(BankAccount, tx)\n const bankAccount = await repository.findOne({ where: { domain: { id: domain.id }, id } })\n if (!bankAccount)\n throw new Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again')\n\n return await repository.save({ ...bankAccount, ...patch, updater: user })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"accounting\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [BankAccount], { description: \"To modify multiple BankAccounts' information\" })\n async updateMultipleBankAccount(\n @Arg('patches', type => [BankAccountPatch]) patches: BankAccountPatch[],\n @Ctx() context: ResolverContext\n ): Promise<BankAccount[]> {\n const { domain, user, tx } = context.state\n const repository = getRepository(BankAccount, tx)\n const results = []\n\n for (const { cuFlag, ...patch } of patches) {\n if (cuFlag?.toUpperCase() === '+') {\n results.push({ ...(await repository.save({ ...patch, domain, creator: user, updater: user })), cuFlag: '+' })\n } else if (cuFlag?.toUpperCase() === 'M') {\n const bankAccount = await repository.findOne({ where: { domain: { id: domain.id }, id: patch.id } })\n if (!bankAccount)\n throw new Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again')\n results.push({ ...(await repository.save({ ...bankAccount, ...patch, updater: user })), cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"accounting\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete BankAccount' })\n async deleteBankAccount(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n await deleteBankAccounts(tx, domain, [id])\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"accounting\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple BankAccounts' })\n async deleteBankAccounts(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n await deleteBankAccounts(tx, domain, ids)\n\n return true\n }\n}\n"]}
@@ -37,6 +37,7 @@ let BankAccountQuery = class BankAccountQuery {
37
37
  };
38
38
  exports.BankAccountQuery = BankAccountQuery;
39
39
  tslib_1.__decorate([
40
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "query", domainOwnerGranted: true)'),
40
41
  (0, type_graphql_1.Query)(returns => bank_account_1.BankAccount, { nullable: true, description: 'To fetch a BankAccount' }),
41
42
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
42
43
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -45,6 +46,7 @@ tslib_1.__decorate([
45
46
  tslib_1.__metadata("design:returntype", Promise)
46
47
  ], BankAccountQuery.prototype, "bankAccount", null);
47
48
  tslib_1.__decorate([
49
+ (0, type_graphql_1.Directive)('@privilege(category: "accounting", privilege: "query", domainOwnerGranted: true)'),
48
50
  (0, type_graphql_1.Query)(returns => bank_account_type_1.BankAccountList, { description: 'To fetch multiple BankAccounts' }),
49
51
  tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
50
52
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
@@ -1 +1 @@
1
- {"version":3,"file":"bank-account-query.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BankAccount } from './bank-account'\nimport { BankAccountList } from './bank-account-type'\n\n@Resolver(BankAccount)\nexport class BankAccountQuery {\n @Query(returns => BankAccount!, { nullable: true, description: 'To fetch a BankAccount' })\n async bankAccount(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<BankAccount> {\n const { domain } = context.state\n\n return await getRepository(BankAccount).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => BankAccountList, { description: 'To fetch multiple BankAccounts' })\n async bankAccounts(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<BankAccountList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(BankAccount),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() bankAccount: BankAccount): Promise<Domain> {\n return bankAccount.domainId && (await getRepository(Domain).findOneBy({ id: bankAccount.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() bankAccount: BankAccount): Promise<User> {\n return bankAccount.updaterId && (await getRepository(User).findOneBy({ id: bankAccount.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() bankAccount: BankAccount): Promise<User> {\n return bankAccount.creatorId && (await getRepository(User).findOneBy({ id: bankAccount.creatorId }))\n }\n}\n"]}
1
+ {"version":3,"file":"bank-account-query.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BankAccount } from './bank-account'\nimport { BankAccountList } from './bank-account-type'\n\n@Resolver(BankAccount)\nexport class BankAccountQuery {\n @Directive('@privilege(category: \"accounting\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BankAccount!, { nullable: true, description: 'To fetch a BankAccount' })\n async bankAccount(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<BankAccount> {\n const { domain } = context.state\n\n return await getRepository(BankAccount).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"accounting\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BankAccountList, { description: 'To fetch multiple BankAccounts' })\n async bankAccounts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BankAccountList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(BankAccount),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() bankAccount: BankAccount): Promise<Domain> {\n return bankAccount.domainId && (await getRepository(Domain).findOneBy({ id: bankAccount.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() bankAccount: BankAccount): Promise<User> {\n return bankAccount.updaterId && (await getRepository(User).findOneBy({ id: bankAccount.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() bankAccount: BankAccount): Promise<User> {\n return bankAccount.creatorId && (await getRepository(User).findOneBy({ id: bankAccount.creatorId }))\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { EntityManager } from 'typeorm';
2
+ /** An account that lines were written on is made inactive, not deleted - the lines keep pointing at it. */
3
+ export declare function deleteBankAccounts(tx: EntityManager, domain: {
4
+ id: string;
5
+ }, ids: string[]): Promise<void>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteBankAccounts = deleteBankAccounts;
4
+ const typeorm_1 = require("typeorm");
5
+ const shell_1 = require("@things-factory/shell");
6
+ const transaction_1 = require("../transaction/transaction");
7
+ const bank_account_1 = require("./bank-account");
8
+ /** An account that lines were written on is made inactive, not deleted - the lines keep pointing at it. */
9
+ async function deleteBankAccounts(tx, domain, ids) {
10
+ const repo = tx.getRepository(bank_account_1.BankAccount);
11
+ const found = await repo.find({ where: { domain: { id: domain.id }, id: (0, typeorm_1.In)(ids) } });
12
+ if (found.length !== new Set(ids).size)
13
+ throw new shell_1.Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again');
14
+ const used = await tx
15
+ .getRepository(transaction_1.Transaction)
16
+ .count({ where: { domain: { id: domain.id }, bankAccount: { id: (0, typeorm_1.In)(ids) } }, withDeleted: true });
17
+ if (used)
18
+ throw new shell_1.Refusal('bank-account-has-transactions', {}, 'transactions were written on the account - make it inactive instead');
19
+ await repo.softRemove(found);
20
+ }
21
+ //# sourceMappingURL=bank-account-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-account-service.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-service.ts"],"names":[],"mappings":";;AAQA,gDAeC;AAvBD,qCAA2C;AAE3C,iDAA+C;AAE/C,4DAAwD;AACxD,iDAA4C;AAE5C,2GAA2G;AACpG,KAAK,UAAU,kBAAkB,CAAC,EAAiB,EAAE,MAAsB,EAAE,GAAa;IAC/F,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,0BAAW,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IACpF,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;QACpC,MAAM,IAAI,eAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,qDAAqD,CAAC,CAAA;IACxG,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,aAAa,CAAC,yBAAW,CAAC;SAC1B,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACnG,IAAI,IAAI;QACN,MAAM,IAAI,eAAO,CACf,+BAA+B,EAC/B,EAAE,EACF,qEAAqE,CACtE,CAAA;IACH,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { Refusal } from '@things-factory/shell'\n\nimport { Transaction } from '../transaction/transaction'\nimport { BankAccount } from './bank-account'\n\n/** An account that lines were written on is made inactive, not deleted - the lines keep pointing at it. */\nexport async function deleteBankAccounts(tx: EntityManager, domain: { id: string }, ids: string[]): Promise<void> {\n const repo = tx.getRepository(BankAccount)\n const found = await repo.find({ where: { domain: { id: domain.id }, id: In(ids) } })\n if (found.length !== new Set(ids).size)\n throw new Refusal('bank-account-not-found', {}, 'a bank account was not found - reload and try again')\n const used = await tx\n .getRepository(Transaction)\n .count({ where: { domain: { id: domain.id }, bankAccount: { id: In(ids) } }, withDeleted: true })\n if (used)\n throw new Refusal(\n 'bank-account-has-transactions',\n {},\n 'transactions were written on the account - make it inactive instead'\n )\n await repo.softRemove(found)\n}\n"]}
@@ -1,36 +1,30 @@
1
- import { AccountType, BankAccount, OwnerType } from './bank-account';
1
+ import { AccountType, BankAccount, BankAccountPurpose } from './bank-account';
2
2
  export declare class NewBankAccount {
3
3
  name: string;
4
4
  description?: string;
5
- accountHolderName?: string;
6
- accountNumber?: string;
7
5
  bankName?: string;
8
- accountType: AccountType;
6
+ accountNumber?: string;
7
+ accountType?: AccountType;
9
8
  currency?: string;
9
+ timezone?: string;
10
+ purpose?: BankAccountPurpose;
11
+ statedBalance?: number;
12
+ statedBalanceDate?: string;
10
13
  active?: boolean;
11
- ownerType: OwnerType;
12
- ownerId: string;
13
- iban?: string;
14
- bic?: string;
15
- country?: string;
16
- image?: string;
17
14
  }
18
15
  export declare class BankAccountPatch {
19
16
  id?: string;
20
17
  name?: string;
21
18
  description?: string;
22
- accountHolderName?: string;
23
- accountNumber?: string;
24
19
  bankName?: string;
25
- accountType: AccountType;
20
+ accountNumber?: string;
21
+ accountType?: AccountType;
26
22
  currency?: string;
23
+ timezone?: string;
24
+ purpose?: BankAccountPurpose;
25
+ statedBalance?: number;
26
+ statedBalanceDate?: string;
27
27
  active?: boolean;
28
- ownerType: OwnerType;
29
- ownerId: string;
30
- iban?: string;
31
- bic?: string;
32
- country?: string;
33
- image?: string;
34
28
  cuFlag?: string;
35
29
  }
36
30
  export declare class BankAccountList {
@@ -8,146 +8,122 @@ let NewBankAccount = class NewBankAccount {
8
8
  };
9
9
  exports.NewBankAccount = NewBankAccount;
10
10
  tslib_1.__decorate([
11
- (0, type_graphql_1.Field)(),
11
+ (0, type_graphql_1.Field)({ description: 'Name of the account, unique in the domain' }),
12
12
  tslib_1.__metadata("design:type", String)
13
13
  ], NewBankAccount.prototype, "name", void 0);
14
14
  tslib_1.__decorate([
15
- (0, type_graphql_1.Field)({ nullable: true }),
15
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Description' }),
16
16
  tslib_1.__metadata("design:type", String)
17
17
  ], NewBankAccount.prototype, "description", void 0);
18
18
  tslib_1.__decorate([
19
- (0, type_graphql_1.Field)({ nullable: true, description: 'Name of the account holder' }),
19
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Bank name' }),
20
20
  tslib_1.__metadata("design:type", String)
21
- ], NewBankAccount.prototype, "accountHolderName", void 0);
21
+ ], NewBankAccount.prototype, "bankName", void 0);
22
22
  tslib_1.__decorate([
23
- (0, type_graphql_1.Field)({ nullable: true, description: 'Bank account number' }),
23
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Account number' }),
24
24
  tslib_1.__metadata("design:type", String)
25
25
  ], NewBankAccount.prototype, "accountNumber", void 0);
26
26
  tslib_1.__decorate([
27
- (0, type_graphql_1.Field)({ nullable: true, description: 'Bank name' }),
28
- tslib_1.__metadata("design:type", String)
29
- ], NewBankAccount.prototype, "bankName", void 0);
30
- tslib_1.__decorate([
31
- (0, type_graphql_1.Field)(type => bank_account_1.AccountType, { description: 'Type of the account (Bank or Card)' }),
27
+ (0, type_graphql_1.Field)(type => bank_account_1.AccountType, { nullable: true, description: 'Type of the account (bank or card)' }),
32
28
  tslib_1.__metadata("design:type", String)
33
29
  ], NewBankAccount.prototype, "accountType", void 0);
34
30
  tslib_1.__decorate([
35
- (0, type_graphql_1.Field)({ nullable: true, description: 'Currency of the account' }),
31
+ (0, type_graphql_1.Field)({ nullable: true, description: 'ISO 4217 code - the currency of the account' }),
36
32
  tslib_1.__metadata("design:type", String)
37
33
  ], NewBankAccount.prototype, "currency", void 0);
38
34
  tslib_1.__decorate([
39
- (0, type_graphql_1.Field)({ nullable: true }),
40
- tslib_1.__metadata("design:type", Boolean)
41
- ], NewBankAccount.prototype, "active", void 0);
42
- tslib_1.__decorate([
43
- (0, type_graphql_1.Field)(type => bank_account_1.OwnerType, { description: 'Type of the owner of the bank account' }),
44
- tslib_1.__metadata("design:type", String)
45
- ], NewBankAccount.prototype, "ownerType", void 0);
46
- tslib_1.__decorate([
47
- (0, type_graphql_1.Field)({ description: 'ID of the owner of the bank account' }),
35
+ (0, type_graphql_1.Field)({ nullable: true, description: 'IANA time zone the bank keeps the account in' }),
48
36
  tslib_1.__metadata("design:type", String)
49
- ], NewBankAccount.prototype, "ownerId", void 0);
37
+ ], NewBankAccount.prototype, "timezone", void 0);
50
38
  tslib_1.__decorate([
51
- (0, type_graphql_1.Field)({ nullable: true, description: 'IBAN of the bank account' }),
39
+ (0, type_graphql_1.Field)(type => bank_account_1.BankAccountPurpose, { nullable: true, description: 'What the money in the account may be used for' }),
52
40
  tslib_1.__metadata("design:type", String)
53
- ], NewBankAccount.prototype, "iban", void 0);
41
+ ], NewBankAccount.prototype, "purpose", void 0);
54
42
  tslib_1.__decorate([
55
- (0, type_graphql_1.Field)({ nullable: true, description: 'BIC of the bank account' }),
56
- tslib_1.__metadata("design:type", String)
57
- ], NewBankAccount.prototype, "bic", void 0);
43
+ (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true, description: 'A balance someone read off the account' }),
44
+ tslib_1.__metadata("design:type", Number)
45
+ ], NewBankAccount.prototype, "statedBalance", void 0);
58
46
  tslib_1.__decorate([
59
- (0, type_graphql_1.Field)({ nullable: true, description: 'Country of the bank account' }),
47
+ (0, type_graphql_1.Field)({ nullable: true, description: 'YYYY-MM-DD - the day the stated balance was read' }),
60
48
  tslib_1.__metadata("design:type", String)
61
- ], NewBankAccount.prototype, "country", void 0);
49
+ ], NewBankAccount.prototype, "statedBalanceDate", void 0);
62
50
  tslib_1.__decorate([
63
- (0, type_graphql_1.Field)({ nullable: true, description: 'Cover image of the bank account' }),
64
- tslib_1.__metadata("design:type", String)
65
- ], NewBankAccount.prototype, "image", void 0);
51
+ (0, type_graphql_1.Field)({ nullable: true, description: 'An inactive account is not offered for new lines' }),
52
+ tslib_1.__metadata("design:type", Boolean)
53
+ ], NewBankAccount.prototype, "active", void 0);
66
54
  exports.NewBankAccount = NewBankAccount = tslib_1.__decorate([
67
- (0, type_graphql_1.InputType)()
55
+ (0, type_graphql_1.InputType)({ description: 'A new bank account' })
68
56
  ], NewBankAccount);
69
57
  let BankAccountPatch = class BankAccountPatch {
70
58
  };
71
59
  exports.BankAccountPatch = BankAccountPatch;
72
60
  tslib_1.__decorate([
73
- (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
61
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'The account to change' }),
74
62
  tslib_1.__metadata("design:type", String)
75
63
  ], BankAccountPatch.prototype, "id", void 0);
76
64
  tslib_1.__decorate([
77
- (0, type_graphql_1.Field)({ nullable: true }),
65
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Name of the account, unique in the domain' }),
78
66
  tslib_1.__metadata("design:type", String)
79
67
  ], BankAccountPatch.prototype, "name", void 0);
80
68
  tslib_1.__decorate([
81
- (0, type_graphql_1.Field)({ nullable: true }),
69
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Description' }),
82
70
  tslib_1.__metadata("design:type", String)
83
71
  ], BankAccountPatch.prototype, "description", void 0);
84
72
  tslib_1.__decorate([
85
- (0, type_graphql_1.Field)({ nullable: true, description: 'Name of the account holder' }),
73
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Bank name' }),
86
74
  tslib_1.__metadata("design:type", String)
87
- ], BankAccountPatch.prototype, "accountHolderName", void 0);
75
+ ], BankAccountPatch.prototype, "bankName", void 0);
88
76
  tslib_1.__decorate([
89
- (0, type_graphql_1.Field)({ nullable: true, description: 'Bank account number' }),
77
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Account number' }),
90
78
  tslib_1.__metadata("design:type", String)
91
79
  ], BankAccountPatch.prototype, "accountNumber", void 0);
92
80
  tslib_1.__decorate([
93
- (0, type_graphql_1.Field)({ nullable: true, description: 'Bank name' }),
94
- tslib_1.__metadata("design:type", String)
95
- ], BankAccountPatch.prototype, "bankName", void 0);
96
- tslib_1.__decorate([
97
- (0, type_graphql_1.Field)(type => bank_account_1.AccountType, { description: 'Type of the account (Bank or Card)' }),
81
+ (0, type_graphql_1.Field)(type => bank_account_1.AccountType, { nullable: true, description: 'Type of the account (bank or card)' }),
98
82
  tslib_1.__metadata("design:type", String)
99
83
  ], BankAccountPatch.prototype, "accountType", void 0);
100
84
  tslib_1.__decorate([
101
- (0, type_graphql_1.Field)({ nullable: true, description: 'Currency of the account' }),
85
+ (0, type_graphql_1.Field)({ nullable: true, description: 'ISO 4217 code - the currency of the account' }),
102
86
  tslib_1.__metadata("design:type", String)
103
87
  ], BankAccountPatch.prototype, "currency", void 0);
104
88
  tslib_1.__decorate([
105
- (0, type_graphql_1.Field)({ nullable: true }),
106
- tslib_1.__metadata("design:type", Boolean)
107
- ], BankAccountPatch.prototype, "active", void 0);
108
- tslib_1.__decorate([
109
- (0, type_graphql_1.Field)(type => bank_account_1.OwnerType, { description: 'Type of the owner of the bank account' }),
110
- tslib_1.__metadata("design:type", String)
111
- ], BankAccountPatch.prototype, "ownerType", void 0);
112
- tslib_1.__decorate([
113
- (0, type_graphql_1.Field)({ description: 'ID of the owner of the bank account' }),
89
+ (0, type_graphql_1.Field)({ nullable: true, description: 'IANA time zone the bank keeps the account in' }),
114
90
  tslib_1.__metadata("design:type", String)
115
- ], BankAccountPatch.prototype, "ownerId", void 0);
91
+ ], BankAccountPatch.prototype, "timezone", void 0);
116
92
  tslib_1.__decorate([
117
- (0, type_graphql_1.Field)({ nullable: true, description: 'IBAN of the bank account' }),
93
+ (0, type_graphql_1.Field)(type => bank_account_1.BankAccountPurpose, { nullable: true, description: 'What the money in the account may be used for' }),
118
94
  tslib_1.__metadata("design:type", String)
119
- ], BankAccountPatch.prototype, "iban", void 0);
95
+ ], BankAccountPatch.prototype, "purpose", void 0);
120
96
  tslib_1.__decorate([
121
- (0, type_graphql_1.Field)({ nullable: true, description: 'BIC of the bank account' }),
122
- tslib_1.__metadata("design:type", String)
123
- ], BankAccountPatch.prototype, "bic", void 0);
97
+ (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true, description: 'A balance someone read off the account' }),
98
+ tslib_1.__metadata("design:type", Number)
99
+ ], BankAccountPatch.prototype, "statedBalance", void 0);
124
100
  tslib_1.__decorate([
125
- (0, type_graphql_1.Field)({ nullable: true, description: 'Country of the bank account' }),
101
+ (0, type_graphql_1.Field)({ nullable: true, description: 'YYYY-MM-DD - the day the stated balance was read' }),
126
102
  tslib_1.__metadata("design:type", String)
127
- ], BankAccountPatch.prototype, "country", void 0);
103
+ ], BankAccountPatch.prototype, "statedBalanceDate", void 0);
128
104
  tslib_1.__decorate([
129
- (0, type_graphql_1.Field)({ nullable: true, description: 'Cover image of the bank account' }),
130
- tslib_1.__metadata("design:type", String)
131
- ], BankAccountPatch.prototype, "image", void 0);
105
+ (0, type_graphql_1.Field)({ nullable: true, description: 'An inactive account is not offered for new lines' }),
106
+ tslib_1.__metadata("design:type", Boolean)
107
+ ], BankAccountPatch.prototype, "active", void 0);
132
108
  tslib_1.__decorate([
133
- (0, type_graphql_1.Field)({ nullable: true }),
109
+ (0, type_graphql_1.Field)({ nullable: true, description: '+ adds, M changes' }),
134
110
  tslib_1.__metadata("design:type", String)
135
111
  ], BankAccountPatch.prototype, "cuFlag", void 0);
136
112
  exports.BankAccountPatch = BankAccountPatch = tslib_1.__decorate([
137
- (0, type_graphql_1.InputType)()
113
+ (0, type_graphql_1.InputType)({ description: 'A change to a bank account, or a grid row: cuFlag + adds, M changes' })
138
114
  ], BankAccountPatch);
139
115
  let BankAccountList = class BankAccountList {
140
116
  };
141
117
  exports.BankAccountList = BankAccountList;
142
118
  tslib_1.__decorate([
143
- (0, type_graphql_1.Field)(type => [bank_account_1.BankAccount]),
119
+ (0, type_graphql_1.Field)(type => [bank_account_1.BankAccount], { description: 'The accounts on this page' }),
144
120
  tslib_1.__metadata("design:type", Array)
145
121
  ], BankAccountList.prototype, "items", void 0);
146
122
  tslib_1.__decorate([
147
- (0, type_graphql_1.Field)(type => type_graphql_1.Int),
123
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'How many there are in all' }),
148
124
  tslib_1.__metadata("design:type", Number)
149
125
  ], BankAccountList.prototype, "total", void 0);
150
126
  exports.BankAccountList = BankAccountList = tslib_1.__decorate([
151
- (0, type_graphql_1.ObjectType)()
127
+ (0, type_graphql_1.ObjectType)({ description: 'A page of bank accounts' })
152
128
  ], BankAccountList);
153
129
  //# sourceMappingURL=bank-account-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bank-account-type.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-type.ts"],"names":[],"mappings":";;;;AAEA,+CAAsF;AAItF,iDAAoE;AAG7D,IAAM,cAAc,GAApB,MAAM,cAAc;CA0C1B,CAAA;AA1CY,wCAAc;AAEzB;IADC,IAAA,oBAAK,GAAE;;4CACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;;yDAC3C;AAG1B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;;qDACxC;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;;gDACnC;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;;mDAC1D;AAGxB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;gDACjD;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,wBAAS,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;iDAC/D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;;+CAC/C;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;;4CACtD;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;2CACtD;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;;+CACtD;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;6CAC5D;yBAzCH,cAAc;IAD1B,IAAA,wBAAS,GAAE;GACC,cAAc,CA0C1B;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAgD5B,CAAA;AAhDY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;;2DAC3C;AAG1B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;;uDACxC;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;;kDACnC;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;;qDAC1D;AAGxB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;kDACjD;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,wBAAS,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;mDAC/D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;;iDAC/C;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;;8CACtD;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;6CACtD;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;;iDACtD;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;+CAC5D;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACX;2BA/CJ,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAgD5B;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;CAM3B,CAAA;AANY,0CAAe;AAE1B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAW,CAAC,CAAC;;8CACT;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;8CACN;0BALF,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAM3B","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { AccountType, BankAccount, OwnerType } from './bank-account'\n\n@InputType()\nexport class NewBankAccount {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true, description: 'Name of the account holder' })\n accountHolderName?: string // 계좌 소유자의 이름\n\n @Field({ nullable: true, description: 'Bank account number' })\n accountNumber?: string\n\n @Field({ nullable: true, description: 'Bank name' })\n bankName?: string\n\n @Field(type => AccountType, { description: 'Type of the account (Bank or Card)' })\n accountType: AccountType\n\n @Field({ nullable: true, description: 'Currency of the account' })\n currency?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => OwnerType, { description: 'Type of the owner of the bank account' })\n ownerType: OwnerType\n\n @Field({ description: 'ID of the owner of the bank account' })\n ownerId: string\n\n @Field({ nullable: true, description: 'IBAN of the bank account' })\n iban?: string // 은행 계좌의 IBAN\n\n @Field({ nullable: true, description: 'BIC of the bank account' })\n bic?: string // 은행 계좌의 BIC\n\n @Field({ nullable: true, description: 'Country of the bank account' })\n country?: string // 은행 계좌의 국적\n\n @Field({ nullable: true, description: 'Cover image of the bank account' })\n image?: string // 은행 계좌의 커버이미지\n}\n\n@InputType()\nexport class BankAccountPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true, description: 'Name of the account holder' })\n accountHolderName?: string // 계좌 소유자의 이름\n\n @Field({ nullable: true, description: 'Bank account number' })\n accountNumber?: string\n\n @Field({ nullable: true, description: 'Bank name' })\n bankName?: string\n\n @Field(type => AccountType, { description: 'Type of the account (Bank or Card)' })\n accountType: AccountType\n\n @Field({ nullable: true, description: 'Currency of the account' })\n currency?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => OwnerType, { description: 'Type of the owner of the bank account' })\n ownerType: OwnerType\n\n @Field({ description: 'ID of the owner of the bank account' })\n ownerId: string\n\n @Field({ nullable: true, description: 'IBAN of the bank account' })\n iban?: string // 은행 계좌의 IBAN\n\n @Field({ nullable: true, description: 'BIC of the bank account' })\n bic?: string // 은행 계좌의 BIC\n\n @Field({ nullable: true, description: 'Country of the bank account' })\n country?: string // 은행 계좌의 국적\n\n @Field({ nullable: true, description: 'Cover image of the bank account' })\n image?: string // 은행 계좌의 커버이미지\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class BankAccountList {\n @Field(type => [BankAccount])\n items: BankAccount[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"bank-account-type.js","sourceRoot":"","sources":["../../../server/service/bank-account/bank-account-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectType, Field, Float, InputType, Int, ID } from 'type-graphql'\n\nimport { AccountType, BankAccount, BankAccountPurpose } from './bank-account'\n\n@InputType({ description: 'A new bank account' })\nexport class NewBankAccount {\n @Field({ description: 'Name of the account, unique in the domain' })\n name: string\n\n @Field({ nullable: true, description: 'Description' })\n description?: string\n\n @Field({ nullable: true, description: 'Bank name' })\n bankName?: string\n\n @Field({ nullable: true, description: 'Account number' })\n accountNumber?: string\n\n @Field(type => AccountType, { nullable: true, description: 'Type of the account (bank or card)' })\n accountType?: AccountType\n\n @Field({ nullable: true, description: 'ISO 4217 code - the currency of the account' })\n currency?: string\n\n @Field({ nullable: true, description: 'IANA time zone the bank keeps the account in' })\n timezone?: string\n\n @Field(type => BankAccountPurpose, { nullable: true, description: 'What the money in the account may be used for' })\n purpose?: BankAccountPurpose\n\n @Field(type => Float, { nullable: true, description: 'A balance someone read off the account' })\n statedBalance?: number\n\n @Field({ nullable: true, description: 'YYYY-MM-DD - the day the stated balance was read' })\n statedBalanceDate?: string\n\n @Field({ nullable: true, description: 'An inactive account is not offered for new lines' })\n active?: boolean\n}\n\n@InputType({ description: 'A change to a bank account, or a grid row: cuFlag + adds, M changes' })\nexport class BankAccountPatch {\n @Field(type => ID, { nullable: true, description: 'The account to change' })\n id?: string\n\n @Field({ nullable: true, description: 'Name of the account, unique in the domain' })\n name?: string\n\n @Field({ nullable: true, description: 'Description' })\n description?: string\n\n @Field({ nullable: true, description: 'Bank name' })\n bankName?: string\n\n @Field({ nullable: true, description: 'Account number' })\n accountNumber?: string\n\n @Field(type => AccountType, { nullable: true, description: 'Type of the account (bank or card)' })\n accountType?: AccountType\n\n @Field({ nullable: true, description: 'ISO 4217 code - the currency of the account' })\n currency?: string\n\n @Field({ nullable: true, description: 'IANA time zone the bank keeps the account in' })\n timezone?: string\n\n @Field(type => BankAccountPurpose, { nullable: true, description: 'What the money in the account may be used for' })\n purpose?: BankAccountPurpose\n\n @Field(type => Float, { nullable: true, description: 'A balance someone read off the account' })\n statedBalance?: number\n\n @Field({ nullable: true, description: 'YYYY-MM-DD - the day the stated balance was read' })\n statedBalanceDate?: string\n\n @Field({ nullable: true, description: 'An inactive account is not offered for new lines' })\n active?: boolean\n\n @Field({ nullable: true, description: '+ adds, M changes' })\n cuFlag?: string\n}\n\n@ObjectType({ description: 'A page of bank accounts' })\nexport class BankAccountList {\n @Field(type => [BankAccount], { description: 'The accounts on this page' })\n items: BankAccount[]\n\n @Field(type => Int, { description: 'How many there are in all' })\n total: number\n}\n"]}