@things-factory/accounting 8.0.0-alpha.1 → 8.0.0-alpha.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (362) hide show
  1. package/client/bootstrap.ts +10 -1
  2. package/client/components/accounting-category-selector.ts +136 -0
  3. package/client/components/accounting-category-view.ts +75 -0
  4. package/client/grist-editors/grist-editor-accounting-category-object.ts +83 -0
  5. package/client/grist-editors/grist-renderer-accounting-category-object.ts +13 -0
  6. package/client/pages/account/account-list-page.ts +33 -2
  7. package/client/pages/accounting-category/accounting-category-list-page.ts +31 -1
  8. package/client/pages/accounting-category/accounting-category-tree-page.ts +338 -0
  9. package/client/pages/accounting-document/accounting-document-importer.ts +90 -0
  10. package/client/pages/accounting-document/accounting-document-list-page.ts +398 -0
  11. package/client/pages/bank/bank-importer.ts +90 -0
  12. package/client/pages/{ledger/ledger-list-page.ts → bank/bank-list-page.ts} +118 -57
  13. package/client/pages/{ledger/ledger-importer.ts → bank-account/bank-account-importer.ts} +10 -17
  14. package/client/pages/bank-account/bank-account-list-page.ts +398 -0
  15. package/client/pages/financial-institution/financial-institution-importer.ts +90 -0
  16. package/client/pages/financial-institution/financial-institution-list-page.ts +398 -0
  17. package/client/pages/payment/payment-importer.ts +90 -0
  18. package/client/pages/payment/payment-list-page.ts +398 -0
  19. package/client/route.ts +0 -4
  20. package/client/types/accounting-category.ts +23 -0
  21. package/client/types/index.ts +1 -0
  22. package/dist-client/bootstrap.js +7 -1
  23. package/dist-client/bootstrap.js.map +1 -1
  24. package/dist-client/components/accounting-category-selector.d.ts +16 -0
  25. package/dist-client/components/accounting-category-selector.js +134 -0
  26. package/dist-client/components/accounting-category-selector.js.map +1 -0
  27. package/dist-client/components/accounting-category-view.d.ts +14 -0
  28. package/dist-client/components/accounting-category-view.js +81 -0
  29. package/dist-client/components/accounting-category-view.js.map +1 -0
  30. package/dist-client/grist-editors/grist-editor-accounting-category-object.d.ts +11 -0
  31. package/dist-client/grist-editors/grist-editor-accounting-category-object.js +71 -0
  32. package/dist-client/grist-editors/grist-editor-accounting-category-object.js.map +1 -0
  33. package/dist-client/grist-editors/grist-renderer-accounting-category-object.d.ts +2 -0
  34. package/dist-client/grist-editors/grist-renderer-accounting-category-object.js +9 -0
  35. package/dist-client/grist-editors/grist-renderer-accounting-category-object.js.map +1 -0
  36. package/dist-client/pages/account/account-list-page.js +33 -2
  37. package/dist-client/pages/account/account-list-page.js.map +1 -1
  38. package/dist-client/pages/accounting-category/accounting-category-list-page.js +31 -1
  39. package/dist-client/pages/accounting-category/accounting-category-list-page.js.map +1 -1
  40. package/dist-client/pages/accounting-category/accounting-category-tree-page.d.ts +46 -0
  41. package/dist-client/pages/accounting-category/accounting-category-tree-page.js +329 -0
  42. package/dist-client/pages/accounting-category/accounting-category-tree-page.js.map +1 -0
  43. package/dist-client/pages/accounting-document/accounting-document-importer.d.ts +23 -0
  44. package/dist-client/pages/accounting-document/accounting-document-importer.js +93 -0
  45. package/dist-client/pages/accounting-document/accounting-document-importer.js.map +1 -0
  46. package/dist-client/pages/accounting-document/accounting-document-list-page.d.ts +66 -0
  47. package/dist-client/pages/accounting-document/accounting-document-list-page.js +370 -0
  48. package/dist-client/pages/accounting-document/accounting-document-list-page.js.map +1 -0
  49. package/dist-client/pages/{ledger/ledger-importer.d.ts → bank/bank-importer.d.ts} +3 -2
  50. package/dist-client/pages/{ledger/ledger-importer.js → bank/bank-importer.js} +14 -21
  51. package/dist-client/pages/bank/bank-importer.js.map +1 -0
  52. package/dist-client/pages/{ledger/ledger-list-page.d.ts → bank/bank-list-page.d.ts} +12 -8
  53. package/dist-client/pages/{ledger/ledger-list-page.js → bank/bank-list-page.js} +114 -67
  54. package/dist-client/pages/bank/bank-list-page.js.map +1 -0
  55. package/dist-client/pages/bank-account/bank-account-importer.d.ts +23 -0
  56. package/dist-client/pages/bank-account/bank-account-importer.js +93 -0
  57. package/dist-client/pages/bank-account/bank-account-importer.js.map +1 -0
  58. package/dist-client/pages/bank-account/bank-account-list-page.d.ts +66 -0
  59. package/dist-client/pages/bank-account/bank-account-list-page.js +370 -0
  60. package/dist-client/pages/bank-account/bank-account-list-page.js.map +1 -0
  61. package/dist-client/pages/financial-institution/financial-institution-importer.d.ts +23 -0
  62. package/dist-client/pages/financial-institution/financial-institution-importer.js +93 -0
  63. package/dist-client/pages/financial-institution/financial-institution-importer.js.map +1 -0
  64. package/dist-client/pages/financial-institution/financial-institution-list-page.d.ts +66 -0
  65. package/dist-client/pages/financial-institution/financial-institution-list-page.js +370 -0
  66. package/dist-client/pages/financial-institution/financial-institution-list-page.js.map +1 -0
  67. package/dist-client/pages/payment/payment-importer.d.ts +23 -0
  68. package/dist-client/pages/payment/payment-importer.js +93 -0
  69. package/dist-client/pages/payment/payment-importer.js.map +1 -0
  70. package/dist-client/pages/payment/payment-list-page.d.ts +66 -0
  71. package/dist-client/pages/payment/payment-list-page.js +370 -0
  72. package/dist-client/pages/payment/payment-list-page.js.map +1 -0
  73. package/dist-client/route.d.ts +1 -1
  74. package/dist-client/route.js +0 -3
  75. package/dist-client/route.js.map +1 -1
  76. package/dist-client/tsconfig.tsbuildinfo +1 -1
  77. package/dist-client/types/accounting-category.d.ts +16 -0
  78. package/dist-client/types/accounting-category.js +3 -0
  79. package/dist-client/types/accounting-category.js.map +1 -0
  80. package/dist-client/types/index.d.ts +1 -0
  81. package/dist-client/types/index.js +2 -0
  82. package/dist-client/types/index.js.map +1 -0
  83. package/dist-server/activities/activity-book.js +31 -19
  84. package/dist-server/activities/activity-book.js.map +1 -1
  85. package/dist-server/controllers/summary-statements.js +13 -7
  86. package/dist-server/controllers/summary-statements.js.map +1 -1
  87. package/dist-server/index.d.ts +1 -0
  88. package/dist-server/index.js +1 -0
  89. package/dist-server/index.js.map +1 -1
  90. package/dist-server/migrations/1725200507196-seed-fiscal-entities.js +3 -3
  91. package/dist-server/migrations/1725200507196-seed-fiscal-entities.js.map +1 -1
  92. package/dist-server/migrations/1725201467183-seed-accounts.js +31 -31
  93. package/dist-server/migrations/1725201467183-seed-accounts.js.map +1 -1
  94. package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +5 -0
  95. package/dist-server/migrations/1725201567284-seed-country-codes.js +248 -0
  96. package/dist-server/migrations/1725201567284-seed-country-codes.js.map +1 -0
  97. package/dist-server/migrations/1725201667385-seed-financial-institutions.d.ts +5 -0
  98. package/dist-server/migrations/1725201667385-seed-financial-institutions.js +348 -0
  99. package/dist-server/migrations/1725201667385-seed-financial-institutions.js.map +1 -0
  100. package/dist-server/routes.d.ts +0 -1
  101. package/dist-server/routes.js +0 -1
  102. package/dist-server/routes.js.map +1 -1
  103. package/dist-server/service/account/account-history.d.ts +4 -1
  104. package/dist-server/service/account/account-history.js +14 -4
  105. package/dist-server/service/account/account-history.js.map +1 -1
  106. package/dist-server/service/account/account-mutation.js +13 -9
  107. package/dist-server/service/account/account-mutation.js.map +1 -1
  108. package/dist-server/service/account/account-query.js +2 -0
  109. package/dist-server/service/account/account-query.js.map +1 -1
  110. package/dist-server/service/account/account.d.ts +1 -1
  111. package/dist-server/service/account/account.js +15 -4
  112. package/dist-server/service/account/account.js.map +1 -1
  113. package/dist-server/service/account/index.d.ts +1 -2
  114. package/dist-server/service/accounting-category/accounting-category-history.d.ts +26 -0
  115. package/dist-server/service/accounting-category/accounting-category-history.js +136 -0
  116. package/dist-server/service/accounting-category/accounting-category-history.js.map +1 -0
  117. package/dist-server/service/accounting-category/accounting-category-mutation.js +12 -8
  118. package/dist-server/service/accounting-category/accounting-category-mutation.js.map +1 -1
  119. package/dist-server/service/accounting-category/accounting-category-query.d.ts +1 -0
  120. package/dist-server/service/accounting-category/accounting-category-query.js +23 -0
  121. package/dist-server/service/accounting-category/accounting-category-query.js.map +1 -1
  122. package/dist-server/service/accounting-category/accounting-category.d.ts +1 -0
  123. package/dist-server/service/accounting-category/accounting-category.js +14 -3
  124. package/dist-server/service/accounting-category/accounting-category.js.map +1 -1
  125. package/dist-server/service/accounting-category/event-subscriber.d.ts +7 -0
  126. package/dist-server/service/accounting-category/event-subscriber.js +21 -0
  127. package/dist-server/service/accounting-category/event-subscriber.js.map +1 -0
  128. package/dist-server/service/accounting-category/index.d.ts +2 -1
  129. package/dist-server/service/accounting-category/index.js +4 -2
  130. package/dist-server/service/accounting-category/index.js.map +1 -1
  131. package/dist-server/service/accounting-document/accounting-document-history.d.ts +26 -0
  132. package/dist-server/service/accounting-document/accounting-document-history.js +129 -0
  133. package/dist-server/service/accounting-document/accounting-document-history.js.map +1 -0
  134. package/dist-server/service/accounting-document/accounting-document-mutation.d.ts +10 -0
  135. package/dist-server/service/accounting-document/accounting-document-mutation.js +128 -0
  136. package/dist-server/service/accounting-document/accounting-document-mutation.js.map +1 -0
  137. package/dist-server/service/accounting-document/accounting-document-query.d.ts +11 -0
  138. package/dist-server/service/accounting-document/accounting-document-query.js +79 -0
  139. package/dist-server/service/accounting-document/accounting-document-query.js.map +1 -0
  140. package/dist-server/service/accounting-document/accounting-document-type.d.ts +20 -0
  141. package/dist-server/service/accounting-document/accounting-document-type.js +74 -0
  142. package/dist-server/service/accounting-document/accounting-document-type.js.map +1 -0
  143. package/dist-server/service/accounting-document/accounting-document.d.ts +21 -0
  144. package/dist-server/service/accounting-document/accounting-document.js +104 -0
  145. package/dist-server/service/accounting-document/accounting-document.js.map +1 -0
  146. package/dist-server/service/accounting-document/event-subscriber.d.ts +7 -0
  147. package/dist-server/service/accounting-document/event-subscriber.js +21 -0
  148. package/dist-server/service/accounting-document/event-subscriber.js.map +1 -0
  149. package/dist-server/service/accounting-document/index.d.ts +7 -0
  150. package/dist-server/service/accounting-document/index.js +12 -0
  151. package/dist-server/service/accounting-document/index.js.map +1 -0
  152. package/dist-server/service/bank-account/bank-account-history.d.ts +34 -0
  153. package/dist-server/service/bank-account/bank-account-history.js +172 -0
  154. package/dist-server/service/bank-account/bank-account-history.js.map +1 -0
  155. package/dist-server/service/bank-account/bank-account-mutation.d.ts +10 -0
  156. package/dist-server/service/bank-account/bank-account-mutation.js +128 -0
  157. package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -0
  158. package/dist-server/service/bank-account/bank-account-query.d.ts +11 -0
  159. package/dist-server/service/bank-account/bank-account-query.js +79 -0
  160. package/dist-server/service/bank-account/bank-account-query.js.map +1 -0
  161. package/dist-server/service/bank-account/bank-account-type.d.ts +39 -0
  162. package/dist-server/service/bank-account/bank-account-type.js +153 -0
  163. package/dist-server/service/bank-account/bank-account-type.js.map +1 -0
  164. package/dist-server/service/bank-account/bank-account.d.ts +38 -0
  165. package/dist-server/service/bank-account/bank-account.js +164 -0
  166. package/dist-server/service/bank-account/bank-account.js.map +1 -0
  167. package/dist-server/service/bank-account/event-subscriber.d.ts +7 -0
  168. package/dist-server/service/bank-account/event-subscriber.js +21 -0
  169. package/dist-server/service/bank-account/event-subscriber.js.map +1 -0
  170. package/dist-server/service/bank-account/index.d.ts +7 -0
  171. package/dist-server/service/bank-account/index.js +12 -0
  172. package/dist-server/service/bank-account/index.js.map +1 -0
  173. package/dist-server/service/financial-institution/financial-institution-mutation.d.ts +10 -0
  174. package/dist-server/service/financial-institution/financial-institution-mutation.js +169 -0
  175. package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -0
  176. package/dist-server/service/financial-institution/financial-institution-query.d.ts +12 -0
  177. package/dist-server/service/financial-institution/financial-institution-query.js +97 -0
  178. package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -0
  179. package/dist-server/service/financial-institution/financial-institution-type.d.ts +32 -0
  180. package/dist-server/service/financial-institution/financial-institution-type.js +126 -0
  181. package/dist-server/service/financial-institution/financial-institution-type.js.map +1 -0
  182. package/dist-server/service/financial-institution/financial-institution.d.ts +34 -0
  183. package/dist-server/service/financial-institution/financial-institution.js +137 -0
  184. package/dist-server/service/financial-institution/financial-institution.js.map +1 -0
  185. package/dist-server/service/financial-institution/index.d.ts +6 -0
  186. package/dist-server/service/financial-institution/index.js +10 -0
  187. package/dist-server/service/financial-institution/index.js.map +1 -0
  188. package/dist-server/service/financial-statement/financial-statement-history.d.ts +9 -6
  189. package/dist-server/service/financial-statement/financial-statement-history.js +30 -20
  190. package/dist-server/service/financial-statement/financial-statement-history.js.map +1 -1
  191. package/dist-server/service/financial-statement/financial-statement-line-item.d.ts +19 -0
  192. package/dist-server/service/financial-statement/financial-statement-line-item.js +94 -0
  193. package/dist-server/service/financial-statement/financial-statement-line-item.js.map +1 -0
  194. package/dist-server/service/financial-statement/financial-statement-mutation.js +12 -8
  195. package/dist-server/service/financial-statement/financial-statement-mutation.js.map +1 -1
  196. package/dist-server/service/financial-statement/financial-statement-query.js +2 -0
  197. package/dist-server/service/financial-statement/financial-statement-query.js.map +1 -1
  198. package/dist-server/service/financial-statement/financial-statement.d.ts +2 -0
  199. package/dist-server/service/financial-statement/financial-statement.js +45 -24
  200. package/dist-server/service/financial-statement/financial-statement.js.map +1 -1
  201. package/dist-server/service/financial-statement/index.d.ts +2 -2
  202. package/dist-server/service/financial-statement/index.js +2 -1
  203. package/dist-server/service/financial-statement/index.js.map +1 -1
  204. package/dist-server/service/fiscal-month/fiscal-month-mutation.js +6 -0
  205. package/dist-server/service/fiscal-month/fiscal-month-mutation.js.map +1 -1
  206. package/dist-server/service/fiscal-month/fiscal-month-query.js +2 -0
  207. package/dist-server/service/fiscal-month/fiscal-month-query.js.map +1 -1
  208. package/dist-server/service/fiscal-month/fiscal-month.js +1 -1
  209. package/dist-server/service/fiscal-month/fiscal-month.js.map +1 -1
  210. package/dist-server/service/fiscal-quarter/fiscal-quarter-mutation.js +6 -0
  211. package/dist-server/service/fiscal-quarter/fiscal-quarter-mutation.js.map +1 -1
  212. package/dist-server/service/fiscal-quarter/fiscal-quarter-query.js +2 -0
  213. package/dist-server/service/fiscal-quarter/fiscal-quarter-query.js.map +1 -1
  214. package/dist-server/service/fiscal-quarter/fiscal-quarter.js +1 -1
  215. package/dist-server/service/fiscal-quarter/fiscal-quarter.js.map +1 -1
  216. package/dist-server/service/fiscal-year/fiscal-year-mutation.js +6 -0
  217. package/dist-server/service/fiscal-year/fiscal-year-mutation.js.map +1 -1
  218. package/dist-server/service/fiscal-year/fiscal-year-query.js +2 -0
  219. package/dist-server/service/fiscal-year/fiscal-year-query.js.map +1 -1
  220. package/dist-server/service/fiscal-year/fiscal-year.js +1 -1
  221. package/dist-server/service/fiscal-year/fiscal-year.js.map +1 -1
  222. package/dist-server/service/income-statement/income-statement-history.d.ts +9 -5
  223. package/dist-server/service/income-statement/income-statement-history.js +35 -20
  224. package/dist-server/service/income-statement/income-statement-history.js.map +1 -1
  225. package/dist-server/service/income-statement/income-statement-line-item.d.ts +19 -0
  226. package/dist-server/service/income-statement/income-statement-line-item.js +96 -0
  227. package/dist-server/service/income-statement/income-statement-line-item.js.map +1 -0
  228. package/dist-server/service/income-statement/income-statement-mutation.js +12 -8
  229. package/dist-server/service/income-statement/income-statement-mutation.js.map +1 -1
  230. package/dist-server/service/income-statement/income-statement-query.js +2 -0
  231. package/dist-server/service/income-statement/income-statement-query.js.map +1 -1
  232. package/dist-server/service/income-statement/income-statement.d.ts +2 -0
  233. package/dist-server/service/income-statement/income-statement.js +46 -26
  234. package/dist-server/service/income-statement/income-statement.js.map +1 -1
  235. package/dist-server/service/income-statement/index.d.ts +2 -2
  236. package/dist-server/service/income-statement/index.js +2 -1
  237. package/dist-server/service/income-statement/index.js.map +1 -1
  238. package/dist-server/service/index.d.ts +4 -2
  239. package/dist-server/service/index.js +10 -0
  240. package/dist-server/service/index.js.map +1 -1
  241. package/dist-server/service/payment/event-subscriber.d.ts +7 -0
  242. package/dist-server/service/payment/event-subscriber.js +21 -0
  243. package/dist-server/service/payment/event-subscriber.js.map +1 -0
  244. package/dist-server/service/payment/index.d.ts +7 -0
  245. package/dist-server/service/payment/index.js +12 -0
  246. package/dist-server/service/payment/index.js.map +1 -0
  247. package/dist-server/service/payment/payment-history.d.ts +37 -0
  248. package/dist-server/service/payment/payment-history.js +174 -0
  249. package/dist-server/service/payment/payment-history.js.map +1 -0
  250. package/dist-server/service/payment/payment-mutation.d.ts +10 -0
  251. package/dist-server/service/payment/payment-mutation.js +134 -0
  252. package/dist-server/service/payment/payment-mutation.js.map +1 -0
  253. package/dist-server/service/payment/payment-query.d.ts +11 -0
  254. package/dist-server/service/payment/payment-query.js +81 -0
  255. package/dist-server/service/payment/payment-query.js.map +1 -0
  256. package/dist-server/service/payment/payment-type.d.ts +30 -0
  257. package/dist-server/service/payment/payment-type.js +114 -0
  258. package/dist-server/service/payment/payment-type.js.map +1 -0
  259. package/dist-server/service/payment/payment.d.ts +42 -0
  260. package/dist-server/service/payment/payment.js +181 -0
  261. package/dist-server/service/payment/payment.js.map +1 -0
  262. package/dist-server/service/transaction/index.d.ts +2 -1
  263. package/dist-server/service/transaction/transaction-history.d.ts +6 -2
  264. package/dist-server/service/transaction/transaction-history.js +28 -9
  265. package/dist-server/service/transaction/transaction-history.js.map +1 -1
  266. package/dist-server/service/transaction/transaction-mutation.js +13 -9
  267. package/dist-server/service/transaction/transaction-mutation.js.map +1 -1
  268. package/dist-server/service/transaction/transaction-query.js +2 -0
  269. package/dist-server/service/transaction/transaction-query.js.map +1 -1
  270. package/dist-server/service/transaction/transaction.d.ts +28 -6
  271. package/dist-server/service/transaction/transaction.js +119 -31
  272. package/dist-server/service/transaction/transaction.js.map +1 -1
  273. package/dist-server/tsconfig.tsbuildinfo +1 -1
  274. package/helps/accounting/accounting-document.md +160 -0
  275. package/helps/accounting/bank-account.md +160 -0
  276. package/helps/accounting/bank.md +160 -0
  277. package/helps/accounting/contract.md +160 -0
  278. package/helps/accounting/financial-institution.md +160 -0
  279. package/helps/accounting/payment.md +160 -0
  280. package/package.json +5 -5
  281. package/server/activities/activity-book.ts +31 -19
  282. package/server/controllers/summary-statements.ts +13 -7
  283. package/server/index.ts +1 -0
  284. package/server/migrations/1725200507196-seed-fiscal-entities.ts +3 -3
  285. package/server/migrations/1725201467183-seed-accounts.ts +31 -31
  286. package/server/migrations/1725201567284-seed-country-codes.ts +261 -0
  287. package/server/migrations/1725201667385-seed-financial-institutions.ts +348 -0
  288. package/server/routes.ts +0 -2
  289. package/server/service/account/account-history.ts +14 -6
  290. package/server/service/account/account-mutation.ts +13 -10
  291. package/server/service/account/account-query.ts +2 -0
  292. package/server/service/account/account.ts +15 -4
  293. package/server/service/accounting-category/accounting-category-history.ts +123 -0
  294. package/server/service/accounting-category/accounting-category-mutation.ts +12 -9
  295. package/server/service/accounting-category/accounting-category-query.ts +23 -0
  296. package/server/service/accounting-category/accounting-category.ts +14 -3
  297. package/server/service/accounting-category/event-subscriber.ts +20 -0
  298. package/server/service/accounting-category/index.ts +4 -2
  299. package/server/service/accounting-document/accounting-document-history.ts +117 -0
  300. package/server/service/accounting-document/accounting-document-mutation.ts +137 -0
  301. package/server/service/accounting-document/accounting-document-query.ts +48 -0
  302. package/server/service/accounting-document/accounting-document-type.ts +52 -0
  303. package/server/service/accounting-document/accounting-document.ts +93 -0
  304. package/server/service/accounting-document/event-subscriber.ts +17 -0
  305. package/server/service/accounting-document/index.ts +9 -0
  306. package/server/service/bank-account/bank-account-history.ts +149 -0
  307. package/server/service/bank-account/bank-account-mutation.ts +137 -0
  308. package/server/service/bank-account/bank-account-query.ts +48 -0
  309. package/server/service/bank-account/bank-account-type.ts +112 -0
  310. package/server/service/bank-account/bank-account.ts +142 -0
  311. package/server/service/bank-account/event-subscriber.ts +17 -0
  312. package/server/service/bank-account/index.ts +9 -0
  313. package/server/service/financial-institution/financial-institution-mutation.ts +198 -0
  314. package/server/service/financial-institution/financial-institution-query.ts +62 -0
  315. package/server/service/financial-institution/financial-institution-type.ts +91 -0
  316. package/server/service/financial-institution/financial-institution.ts +122 -0
  317. package/server/service/financial-institution/index.ts +7 -0
  318. package/server/service/financial-statement/financial-statement-history.ts +27 -18
  319. package/server/service/financial-statement/financial-statement-line-item.ts +82 -0
  320. package/server/service/financial-statement/financial-statement-mutation.ts +12 -9
  321. package/server/service/financial-statement/financial-statement-query.ts +2 -0
  322. package/server/service/financial-statement/financial-statement.ts +52 -36
  323. package/server/service/financial-statement/index.ts +2 -1
  324. package/server/service/fiscal-month/fiscal-month-mutation.ts +10 -2
  325. package/server/service/fiscal-month/fiscal-month-query.ts +3 -1
  326. package/server/service/fiscal-month/fiscal-month.ts +1 -1
  327. package/server/service/fiscal-quarter/fiscal-quarter-mutation.ts +14 -3
  328. package/server/service/fiscal-quarter/fiscal-quarter-query.ts +2 -0
  329. package/server/service/fiscal-quarter/fiscal-quarter.ts +1 -1
  330. package/server/service/fiscal-year/fiscal-year-mutation.ts +10 -2
  331. package/server/service/fiscal-year/fiscal-year-query.ts +2 -0
  332. package/server/service/fiscal-year/fiscal-year.ts +1 -1
  333. package/server/service/income-statement/income-statement-history.ts +30 -17
  334. package/server/service/income-statement/income-statement-line-item.ts +84 -0
  335. package/server/service/income-statement/income-statement-mutation.ts +12 -10
  336. package/server/service/income-statement/income-statement-query.ts +2 -0
  337. package/server/service/income-statement/income-statement.ts +54 -39
  338. package/server/service/income-statement/index.ts +2 -1
  339. package/server/service/index.ts +18 -0
  340. package/server/service/payment/event-subscriber.ts +17 -0
  341. package/server/service/payment/index.ts +9 -0
  342. package/server/service/payment/payment-history.ts +149 -0
  343. package/server/service/payment/payment-mutation.ts +139 -0
  344. package/server/service/payment/payment-query.ts +50 -0
  345. package/server/service/payment/payment-type.ts +82 -0
  346. package/server/service/payment/payment.ts +154 -0
  347. package/server/service/transaction/transaction-history.ts +24 -8
  348. package/server/service/transaction/transaction-mutation.ts +13 -10
  349. package/server/service/transaction/transaction-query.ts +2 -0
  350. package/server/service/transaction/transaction.ts +130 -34
  351. package/things-factory.config.js +0 -1
  352. package/translations/en.json +9 -1
  353. package/translations/ja.json +9 -1
  354. package/translations/ko.json +9 -1
  355. package/translations/ms.json +9 -1
  356. package/translations/zh.json +9 -1
  357. package/client/pages/main.ts +0 -24
  358. package/dist-client/pages/ledger/ledger-importer.js.map +0 -1
  359. package/dist-client/pages/ledger/ledger-list-page.js.map +0 -1
  360. package/dist-client/pages/main.d.ts +0 -1
  361. package/dist-client/pages/main.js +0 -27
  362. package/dist-client/pages/main.js.map +0 -1
@@ -1,47 +1,57 @@
1
- import '@operato/data-grist'
1
+ import '@material/web/icon/icon.js'
2
+ import '@material/web/button/elevated-button.js'
3
+ import '@operato/data-grist/ox-grist.js'
4
+ import '@operato/data-grist/ox-filters-form.js'
5
+ import '@operato/data-grist/ox-record-creator.js'
2
6
 
3
- import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
7
+ import { CommonButtonStyles, CommonHeaderStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
4
8
  import { PageView, store } from '@operato/shell'
5
9
  import { css, html } from 'lit'
6
10
  import { customElement, property, query } from 'lit/decorators.js'
7
11
  import { ScopedElementsMixin } from '@open-wc/scoped-elements'
8
- import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
12
+ import { ColumnConfig, DataGrist, FetchOption } from '@operato/data-grist'
9
13
  import { client } from '@operato/graphql'
10
14
  import { i18next, localize } from '@operato/i18n'
11
15
  import { notify, openPopup } from '@operato/layout'
12
- import { OxPopup } from '@operato/popup'
16
+ import { OxPopup, OxPrompt } from '@operato/popup'
13
17
  import { isMobileDevice } from '@operato/utils'
14
18
 
15
19
  import { connect } from 'pwa-helpers/connect-mixin'
16
20
  import gql from 'graphql-tag'
17
21
 
18
- import { LedgerImporter } from './ledger-importer'
22
+ import { BankImporter } from './bank-importer'
23
+
24
+ @customElement('bank-list-page')
25
+ export class BankListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
19
26
 
20
- @customElement('ledger-list-page')
21
- export class LedgerListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
22
27
  static styles = [
23
28
  ScrollbarStyles,
24
29
  CommonGristStyles,
30
+ CommonHeaderStyles,
25
31
  css`
26
32
  :host {
27
33
  display: flex;
28
34
 
29
35
  width: 100%;
30
36
 
31
- --grid-record-emphasized-background-color: #8b0000;
32
- --grid-record-emphasized-color: #ff6b6b;
37
+ --grid-record-emphasized-background-color: #8B0000;
38
+ --grid-record-emphasized-color: #FF6B6B;
33
39
  }
34
40
 
35
41
  ox-grist {
36
42
  overflow-y: auto;
37
43
  flex: 1;
38
44
  }
45
+
46
+ ox-filters-form {
47
+ flex: 1;
48
+ }
39
49
  `
40
50
  ]
41
51
 
42
52
  static get scopedElements() {
43
53
  return {
44
- 'ledger-importer': LedgerImporter
54
+ 'bank-importer': BankImporter
45
55
  }
46
56
  }
47
57
 
@@ -49,37 +59,36 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
49
59
  @property({ type: String }) mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'
50
60
 
51
61
  @query('ox-grist') private grist!: DataGrist
52
- @query('#sorter-control') private sortersControl!: OxPopup
53
62
 
54
63
  get context() {
55
64
  return {
56
- title: i18next.t('title.ledger list'),
65
+ title: i18next.t('title.bank list'),
57
66
  search: {
58
67
  handler: (search: string) => {
59
68
  this.grist.searchText = search
60
69
  },
61
- value: this.grist?.searchText || ''
70
+ value: this.grist.searchText
62
71
  },
63
72
  filter: {
64
73
  handler: () => {
65
74
  this.grist.toggleHeadroom()
66
75
  }
67
76
  },
68
- help: 'accounting/ledger',
77
+ help: 'accounting/bank',
69
78
  actions: [
70
79
  {
71
80
  title: i18next.t('button.save'),
72
- action: this._updateLedger.bind(this),
81
+ action: this._updateBank.bind(this),
73
82
  ...CommonButtonStyles.save
74
83
  },
75
84
  {
76
85
  title: i18next.t('button.delete'),
77
- action: this._deleteLedger.bind(this),
86
+ action: this._deleteBank.bind(this),
78
87
  ...CommonButtonStyles.delete
79
88
  }
80
89
  ],
81
90
  exportable: {
82
- name: i18next.t('title.ledger list'),
91
+ name: i18next.t('title.bank list'),
83
92
  data: this.exportHandler.bind(this)
84
93
  },
85
94
  importable: {
@@ -92,33 +101,27 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
92
101
  const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
93
102
 
94
103
  return html`
95
- <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
96
- <div slot="headroom">
97
- <div id="filters">
98
- <ox-filters-form autofocus></ox-filters-form>
99
- </div>
104
+ <ox-grist
105
+ .mode=${mode}
106
+ .config=${this.gristConfig}
107
+ .fetchHandler=${this.fetchHandler.bind(this)}
108
+ >
109
+ <div slot="headroom" class="header">
110
+ <div class="filters">
111
+ <ox-filters-form autofocus without-search></ox-filters-form>
100
112
 
101
- <div id="sorters">
102
- Sort
103
- <mwc-icon
104
- @click=${e => {
105
- const target = e.currentTarget
106
- this.sortersControl.open({
107
- right: 0,
108
- top: target.offsetTop + target.offsetHeight
109
- })
110
- }}
111
- >expand_more</mwc-icon
112
- >
113
- <ox-popup id="sorter-control">
114
- <ox-sorters-control> </ox-sorters-control>
115
- </ox-popup>
116
- </div>
113
+ <div id="modes">
114
+ <md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
115
+ <md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
116
+ <md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
117
+ </div>
118
+
119
+ <ox-record-creator id="add" .callback=${this.creationCallback.bind(this)}>
120
+ <button>
121
+ <md-icon>add</md-icon>
122
+ </button>
123
+ </ox-record-creator>
117
124
 
118
- <div id="modes">
119
- <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
120
- <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>
121
- <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
122
125
  </div>
123
126
  </div>
124
127
  </ox-grist>
@@ -189,6 +192,7 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
189
192
  }
190
193
  ],
191
194
  rows: {
195
+ appendable: false,
192
196
  selectable: {
193
197
  multiple: true
194
198
  }
@@ -211,7 +215,7 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
211
215
  const response = await client.query({
212
216
  query: gql`
213
217
  query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
214
- responses: ledgers(filters: $filters, pagination: $pagination, sortings: $sortings) {
218
+ responses: banks(filters: $filters, pagination: $pagination, sortings: $sortings) {
215
219
  items {
216
220
  id
217
221
  name
@@ -240,14 +244,21 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
240
244
  }
241
245
  }
242
246
 
243
- async _deleteLedger() {
244
- if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {
247
+ async _deleteBank() {
248
+ if (
249
+ await OxPrompt.open({
250
+ title: i18next.t('text.are_you_sure'),
251
+ text: i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }),
252
+ confirmButton: { text: i18next.t('button.confirm') },
253
+ cancelButton: { text: i18next.t('button.cancel') }
254
+ })
255
+ ) {
245
256
  const ids = this.grist.selected.map(record => record.id)
246
257
  if (ids && ids.length > 0) {
247
258
  const response = await client.mutate({
248
259
  mutation: gql`
249
260
  mutation ($ids: [String!]!) {
250
- deleteLedgers(ids: $ids)
261
+ deleteBanks(ids: $ids)
251
262
  }
252
263
  `,
253
264
  variables: {
@@ -265,7 +276,7 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
265
276
  }
266
277
  }
267
278
 
268
- async _updateLedger() {
279
+ async _updateBank() {
269
280
  let patches = this.grist.dirtyRecords
270
281
  if (patches && patches.length) {
271
282
  patches = patches.map(patch => {
@@ -281,8 +292,8 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
281
292
 
282
293
  const response = await client.mutate({
283
294
  mutation: gql`
284
- mutation ($patches: [LedgerPatch!]!) {
285
- updateMultipleLedger(patches: $patches) {
295
+ mutation ($patches: [BankPatch!]!) {
296
+ updateMultipleBank(patches: $patches) {
286
297
  name
287
298
  }
288
299
  }
@@ -298,14 +309,63 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
298
309
  }
299
310
  }
300
311
 
312
+ async creationCallback(bank) {
313
+ try {
314
+ const response = await client.query({
315
+ query: gql`
316
+ mutation ($bank: NewBank!) {
317
+ createBank(bank: $bank) {
318
+ id
319
+ }
320
+ }
321
+ `,
322
+ variables: {
323
+ bank
324
+ },
325
+ context: {
326
+ hasUpload: true
327
+ }
328
+ })
329
+
330
+ if (!response.errors) {
331
+ this.grist.fetch()
332
+ document.dispatchEvent(
333
+ new CustomEvent('notify', {
334
+ detail: {
335
+ message: i18next.t('text.data_created_successfully')
336
+ }
337
+ })
338
+ )
339
+ }
340
+
341
+ return true
342
+ } catch (ex) {
343
+ console.error(ex)
344
+ document.dispatchEvent(
345
+ new CustomEvent('notify', {
346
+ detail: {
347
+ type: 'error',
348
+ message: i18next.t('text.error')
349
+ }
350
+ })
351
+ )
352
+ return false
353
+ }
354
+ }
355
+
301
356
  async exportHandler() {
302
357
  const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
303
- const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
358
+ const targetFieldSet = new Set([
359
+ 'id',
360
+ 'name',
361
+ 'description',
362
+ 'active'
363
+ ])
304
364
 
305
- return exportTargets.map(ledger => {
365
+ return exportTargets.map(bank => {
306
366
  let tempObj = {}
307
367
  for (const field of targetFieldSet) {
308
- tempObj[field] = ledger[field]
368
+ tempObj[field] = bank[field]
309
369
  }
310
370
 
311
371
  return tempObj
@@ -315,23 +375,24 @@ export class LedgerListPage extends connect(store)(localize(i18next)(ScopedEleme
315
375
  async importHandler(records) {
316
376
  const popup = openPopup(
317
377
  html`
318
- <ledger-importer
319
- .ledgers=${records}
378
+ <bank-importer
379
+ .banks=${records}
320
380
  @imported=${() => {
321
381
  history.back()
322
382
  this.grist.fetch()
323
383
  }}
324
- ></ledger-importer>
384
+ ></bank-importer>
325
385
  `,
326
386
  {
327
387
  backdrop: true,
328
388
  size: 'large',
329
- title: i18next.t('title.import ledger')
389
+ title: i18next.t('title.import bank')
330
390
  }
331
391
  )
332
-
392
+
333
393
  popup.onclosed = () => {
334
394
  this.grist.fetch()
335
395
  }
336
396
  }
337
397
  }
398
+
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -7,9 +8,11 @@ import { property } from 'lit/decorators.js'
7
8
  import { client } from '@operato/graphql'
8
9
  import { i18next } from '@operato/i18n'
9
10
  import { isMobileDevice } from '@operato/utils'
11
+ import { ButtonContainerStyles } from '@operato/styles'
10
12
 
11
- export class LedgerImporter extends LitElement {
13
+ export class BankAccountImporter extends LitElement {
12
14
  static styles = [
15
+ ButtonContainerStyles,
13
16
  css`
14
17
  :host {
15
18
  display: flex;
@@ -21,20 +24,10 @@ export class LedgerImporter extends LitElement {
21
24
  ox-grist {
22
25
  flex: 1;
23
26
  }
24
-
25
- .button-container {
26
- display: flex;
27
- margin-left: auto;
28
- padding: var(--padding-default);
29
- }
30
-
31
- mwc-button {
32
- margin-left: var(--margin-default);
33
- }
34
27
  `
35
28
  ]
36
29
 
37
- @property({ type: Array }) ledgers: any[] = []
30
+ @property({ type: Array }) bankAccounts: any[] = []
38
31
  @property({ type: Object }) columns = {
39
32
  list: { fields: ['name', 'description'] },
40
33
  pagination: { infinite: true },
@@ -68,13 +61,13 @@ export class LedgerImporter extends LitElement {
68
61
  .config=${this.columns}
69
62
  .data=${
70
63
  {
71
- records: this.ledgers
64
+ records: this.bankAccounts
72
65
  }
73
66
  }
74
67
  ></ox-grist>
75
68
 
76
69
  <div class="button-container">
77
- <mwc-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</mwc-button>
70
+ <button @click="${this.save.bind(this)}"><md-icon>save</md-icon>${i18next.t('button.save')}</button>
78
71
  </div>
79
72
  `
80
73
  }
@@ -82,11 +75,11 @@ export class LedgerImporter extends LitElement {
82
75
  async save() {
83
76
  const response = await client.mutate({
84
77
  mutation: gql`
85
- mutation importLedgers($ledgers: [LedgerPatch!]!) {
86
- importLedgers(ledgers: $ledgers)
78
+ mutation importBankAccounts($bankAccounts: [BankAccountPatch!]!) {
79
+ importBankAccounts(bankAccounts: $bankAccounts)
87
80
  }
88
81
  `,
89
- variables: { ledgers: this.ledgers }
82
+ variables: { bankAccounts: this.bankAccounts }
90
83
  })
91
84
 
92
85
  if (response.errors?.length) return