noxctl 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +39 -2
  2. package/dist/auth.d.ts +17 -1
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +122 -15
  5. package/dist/auth.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +45 -28
  8. package/dist/cli.js.map +1 -1
  9. package/dist/credentials-store.d.ts +3 -0
  10. package/dist/credentials-store.d.ts.map +1 -1
  11. package/dist/credentials-store.js +54 -10
  12. package/dist/credentials-store.js.map +1 -1
  13. package/dist/embedded.d.ts +15 -0
  14. package/dist/embedded.d.ts.map +1 -0
  15. package/dist/embedded.js +11 -0
  16. package/dist/embedded.js.map +1 -0
  17. package/dist/fortnox-client.d.ts +34 -25
  18. package/dist/fortnox-client.d.ts.map +1 -1
  19. package/dist/fortnox-client.js +130 -50
  20. package/dist/fortnox-client.js.map +1 -1
  21. package/dist/index.d.ts +7 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +50 -35
  24. package/dist/index.js.map +1 -1
  25. package/dist/keychain-target.d.ts +3 -0
  26. package/dist/keychain-target.d.ts.map +1 -1
  27. package/dist/keychain-target.js +28 -7
  28. package/dist/keychain-target.js.map +1 -1
  29. package/dist/operations/absencetransactions.d.ts +9 -6
  30. package/dist/operations/absencetransactions.d.ts.map +1 -1
  31. package/dist/operations/absencetransactions.js +42 -33
  32. package/dist/operations/absencetransactions.js.map +1 -1
  33. package/dist/operations/accounts.d.ts +6 -3
  34. package/dist/operations/accounts.d.ts.map +1 -1
  35. package/dist/operations/accounts.js +28 -24
  36. package/dist/operations/accounts.js.map +1 -1
  37. package/dist/operations/analytics.d.ts +35 -0
  38. package/dist/operations/analytics.d.ts.map +1 -1
  39. package/dist/operations/analytics.js +59 -35
  40. package/dist/operations/analytics.js.map +1 -1
  41. package/dist/operations/articles.d.ts +9 -6
  42. package/dist/operations/articles.d.ts.map +1 -1
  43. package/dist/operations/articles.js +36 -32
  44. package/dist/operations/articles.js.map +1 -1
  45. package/dist/operations/attendancetransactions.d.ts +9 -6
  46. package/dist/operations/attendancetransactions.d.ts.map +1 -1
  47. package/dist/operations/attendancetransactions.js +45 -36
  48. package/dist/operations/attendancetransactions.js.map +1 -1
  49. package/dist/operations/company.d.ts +5 -1
  50. package/dist/operations/company.d.ts.map +1 -1
  51. package/dist/operations/company.js +8 -4
  52. package/dist/operations/company.js.map +1 -1
  53. package/dist/operations/contracts.d.ts +12 -9
  54. package/dist/operations/contracts.d.ts.map +1 -1
  55. package/dist/operations/contracts.js +59 -47
  56. package/dist/operations/contracts.js.map +1 -1
  57. package/dist/operations/costcenters.d.ts +10 -7
  58. package/dist/operations/costcenters.d.ts.map +1 -1
  59. package/dist/operations/costcenters.js +39 -35
  60. package/dist/operations/costcenters.js.map +1 -1
  61. package/dist/operations/customers.d.ts +9 -6
  62. package/dist/operations/customers.d.ts.map +1 -1
  63. package/dist/operations/customers.js +46 -42
  64. package/dist/operations/customers.js.map +1 -1
  65. package/dist/operations/employees.d.ts +9 -6
  66. package/dist/operations/employees.d.ts.map +1 -1
  67. package/dist/operations/employees.js +35 -31
  68. package/dist/operations/employees.js.map +1 -1
  69. package/dist/operations/financial-reports.d.ts +7 -2
  70. package/dist/operations/financial-reports.d.ts.map +1 -1
  71. package/dist/operations/financial-reports.js +169 -165
  72. package/dist/operations/financial-reports.js.map +1 -1
  73. package/dist/operations/financial-years.d.ts +8 -5
  74. package/dist/operations/financial-years.d.ts.map +1 -1
  75. package/dist/operations/financial-years.js +33 -29
  76. package/dist/operations/financial-years.js.map +1 -1
  77. package/dist/operations/index.d.ts +301 -0
  78. package/dist/operations/index.d.ts.map +1 -0
  79. package/dist/operations/index.js +64 -0
  80. package/dist/operations/index.js.map +1 -0
  81. package/dist/operations/invoice-payments.d.ts +10 -7
  82. package/dist/operations/invoice-payments.d.ts.map +1 -1
  83. package/dist/operations/invoice-payments.js +45 -35
  84. package/dist/operations/invoice-payments.js.map +1 -1
  85. package/dist/operations/invoices.d.ts +14 -30
  86. package/dist/operations/invoices.d.ts.map +1 -1
  87. package/dist/operations/invoices.js +131 -113
  88. package/dist/operations/invoices.js.map +1 -1
  89. package/dist/operations/offers.d.ts +11 -8
  90. package/dist/operations/offers.d.ts.map +1 -1
  91. package/dist/operations/offers.js +54 -43
  92. package/dist/operations/offers.js.map +1 -1
  93. package/dist/operations/orders.d.ts +10 -7
  94. package/dist/operations/orders.d.ts.map +1 -1
  95. package/dist/operations/orders.js +43 -39
  96. package/dist/operations/orders.js.map +1 -1
  97. package/dist/operations/pricelists.d.ts +16 -10
  98. package/dist/operations/pricelists.d.ts.map +1 -1
  99. package/dist/operations/pricelists.js +56 -48
  100. package/dist/operations/pricelists.js.map +1 -1
  101. package/dist/operations/projects.d.ts +9 -6
  102. package/dist/operations/projects.d.ts.map +1 -1
  103. package/dist/operations/projects.js +34 -30
  104. package/dist/operations/projects.js.map +1 -1
  105. package/dist/operations/recurrings.d.ts +14 -10
  106. package/dist/operations/recurrings.d.ts.map +1 -1
  107. package/dist/operations/recurrings.js +74 -59
  108. package/dist/operations/recurrings.js.map +1 -1
  109. package/dist/operations/salarytransactions.d.ts +9 -6
  110. package/dist/operations/salarytransactions.d.ts.map +1 -1
  111. package/dist/operations/salarytransactions.js +41 -32
  112. package/dist/operations/salarytransactions.js.map +1 -1
  113. package/dist/operations/scheduletimes.d.ts +7 -3
  114. package/dist/operations/scheduletimes.d.ts.map +1 -1
  115. package/dist/operations/scheduletimes.js +26 -22
  116. package/dist/operations/scheduletimes.js.map +1 -1
  117. package/dist/operations/supplier-invoice-payments.d.ts +9 -6
  118. package/dist/operations/supplier-invoice-payments.d.ts.map +1 -1
  119. package/dist/operations/supplier-invoice-payments.js +38 -29
  120. package/dist/operations/supplier-invoice-payments.js.map +1 -1
  121. package/dist/operations/supplier-invoices.d.ts +9 -6
  122. package/dist/operations/supplier-invoices.d.ts.map +1 -1
  123. package/dist/operations/supplier-invoices.js +41 -32
  124. package/dist/operations/supplier-invoices.js.map +1 -1
  125. package/dist/operations/suppliers.d.ts +9 -6
  126. package/dist/operations/suppliers.d.ts.map +1 -1
  127. package/dist/operations/suppliers.js +36 -32
  128. package/dist/operations/suppliers.js.map +1 -1
  129. package/dist/operations/tax.d.ts +5 -1
  130. package/dist/operations/tax.d.ts.map +1 -1
  131. package/dist/operations/tax.js +43 -39
  132. package/dist/operations/tax.js.map +1 -1
  133. package/dist/operations/taxreductions.d.ts +8 -5
  134. package/dist/operations/taxreductions.d.ts.map +1 -1
  135. package/dist/operations/taxreductions.js +28 -24
  136. package/dist/operations/taxreductions.js.map +1 -1
  137. package/dist/operations/vouchers.d.ts +11 -8
  138. package/dist/operations/vouchers.d.ts.map +1 -1
  139. package/dist/operations/vouchers.js +137 -122
  140. package/dist/operations/vouchers.js.map +1 -1
  141. package/dist/schema-audit-mappings.d.ts +9 -0
  142. package/dist/schema-audit-mappings.d.ts.map +1 -0
  143. package/dist/schema-audit-mappings.js +45 -0
  144. package/dist/schema-audit-mappings.js.map +1 -0
  145. package/dist/schema-audit.d.ts +45 -0
  146. package/dist/schema-audit.d.ts.map +1 -0
  147. package/dist/schema-audit.js +132 -0
  148. package/dist/schema-audit.js.map +1 -0
  149. package/dist/strict-mcp-server.d.ts +17 -0
  150. package/dist/strict-mcp-server.d.ts.map +1 -0
  151. package/dist/strict-mcp-server.js +35 -0
  152. package/dist/strict-mcp-server.js.map +1 -0
  153. package/dist/tools/absencetransactions.d.ts +2 -1
  154. package/dist/tools/absencetransactions.d.ts.map +1 -1
  155. package/dist/tools/absencetransactions.js +3 -2
  156. package/dist/tools/absencetransactions.js.map +1 -1
  157. package/dist/tools/analytics.d.ts +2 -1
  158. package/dist/tools/analytics.d.ts.map +1 -1
  159. package/dist/tools/analytics.js +3 -2
  160. package/dist/tools/analytics.js.map +1 -1
  161. package/dist/tools/articles.d.ts +2 -1
  162. package/dist/tools/articles.d.ts.map +1 -1
  163. package/dist/tools/articles.js +3 -2
  164. package/dist/tools/articles.js.map +1 -1
  165. package/dist/tools/attendancetransactions.d.ts +2 -1
  166. package/dist/tools/attendancetransactions.d.ts.map +1 -1
  167. package/dist/tools/attendancetransactions.js +3 -2
  168. package/dist/tools/attendancetransactions.js.map +1 -1
  169. package/dist/tools/bookkeeping.d.ts +2 -1
  170. package/dist/tools/bookkeeping.d.ts.map +1 -1
  171. package/dist/tools/bookkeeping.js +4 -4
  172. package/dist/tools/bookkeeping.js.map +1 -1
  173. package/dist/tools/company.d.ts +2 -1
  174. package/dist/tools/company.d.ts.map +1 -1
  175. package/dist/tools/company.js +3 -2
  176. package/dist/tools/company.js.map +1 -1
  177. package/dist/tools/contracts.d.ts +2 -1
  178. package/dist/tools/contracts.d.ts.map +1 -1
  179. package/dist/tools/contracts.js +3 -2
  180. package/dist/tools/contracts.js.map +1 -1
  181. package/dist/tools/costcenters.d.ts +2 -1
  182. package/dist/tools/costcenters.d.ts.map +1 -1
  183. package/dist/tools/costcenters.js +3 -2
  184. package/dist/tools/costcenters.js.map +1 -1
  185. package/dist/tools/customers.d.ts +2 -1
  186. package/dist/tools/customers.d.ts.map +1 -1
  187. package/dist/tools/customers.js +3 -2
  188. package/dist/tools/customers.js.map +1 -1
  189. package/dist/tools/employees.d.ts +2 -1
  190. package/dist/tools/employees.d.ts.map +1 -1
  191. package/dist/tools/employees.js +3 -2
  192. package/dist/tools/employees.js.map +1 -1
  193. package/dist/tools/financial-reports.d.ts +2 -1
  194. package/dist/tools/financial-reports.d.ts.map +1 -1
  195. package/dist/tools/financial-reports.js +3 -2
  196. package/dist/tools/financial-reports.js.map +1 -1
  197. package/dist/tools/financial-years.d.ts +2 -1
  198. package/dist/tools/financial-years.d.ts.map +1 -1
  199. package/dist/tools/financial-years.js +3 -2
  200. package/dist/tools/financial-years.js.map +1 -1
  201. package/dist/tools/invoice-payments.d.ts +2 -1
  202. package/dist/tools/invoice-payments.d.ts.map +1 -1
  203. package/dist/tools/invoice-payments.js +3 -2
  204. package/dist/tools/invoice-payments.js.map +1 -1
  205. package/dist/tools/invoices.d.ts +2 -1
  206. package/dist/tools/invoices.d.ts.map +1 -1
  207. package/dist/tools/invoices.js +58 -19
  208. package/dist/tools/invoices.js.map +1 -1
  209. package/dist/tools/offers.d.ts +2 -1
  210. package/dist/tools/offers.d.ts.map +1 -1
  211. package/dist/tools/offers.js +50 -19
  212. package/dist/tools/offers.js.map +1 -1
  213. package/dist/tools/orders.d.ts +2 -1
  214. package/dist/tools/orders.d.ts.map +1 -1
  215. package/dist/tools/orders.js +58 -18
  216. package/dist/tools/orders.js.map +1 -1
  217. package/dist/tools/pricelists.d.ts +2 -1
  218. package/dist/tools/pricelists.d.ts.map +1 -1
  219. package/dist/tools/pricelists.js +3 -2
  220. package/dist/tools/pricelists.js.map +1 -1
  221. package/dist/tools/projects.d.ts +2 -1
  222. package/dist/tools/projects.d.ts.map +1 -1
  223. package/dist/tools/projects.js +3 -2
  224. package/dist/tools/projects.js.map +1 -1
  225. package/dist/tools/recurrings.d.ts +2 -1
  226. package/dist/tools/recurrings.d.ts.map +1 -1
  227. package/dist/tools/recurrings.js +3 -2
  228. package/dist/tools/recurrings.js.map +1 -1
  229. package/dist/tools/salarytransactions.d.ts +2 -1
  230. package/dist/tools/salarytransactions.d.ts.map +1 -1
  231. package/dist/tools/salarytransactions.js +3 -2
  232. package/dist/tools/salarytransactions.js.map +1 -1
  233. package/dist/tools/scheduletimes.d.ts +2 -1
  234. package/dist/tools/scheduletimes.d.ts.map +1 -1
  235. package/dist/tools/scheduletimes.js +3 -2
  236. package/dist/tools/scheduletimes.js.map +1 -1
  237. package/dist/tools/status.d.ts.map +1 -1
  238. package/dist/tools/status.js +5 -4
  239. package/dist/tools/status.js.map +1 -1
  240. package/dist/tools/supplier-invoice-payments.d.ts +2 -1
  241. package/dist/tools/supplier-invoice-payments.d.ts.map +1 -1
  242. package/dist/tools/supplier-invoice-payments.js +3 -2
  243. package/dist/tools/supplier-invoice-payments.js.map +1 -1
  244. package/dist/tools/supplier-invoices.d.ts +2 -1
  245. package/dist/tools/supplier-invoices.d.ts.map +1 -1
  246. package/dist/tools/supplier-invoices.js +47 -6
  247. package/dist/tools/supplier-invoices.js.map +1 -1
  248. package/dist/tools/suppliers.d.ts +2 -1
  249. package/dist/tools/suppliers.d.ts.map +1 -1
  250. package/dist/tools/suppliers.js +3 -2
  251. package/dist/tools/suppliers.js.map +1 -1
  252. package/dist/tools/tax.d.ts +2 -1
  253. package/dist/tools/tax.d.ts.map +1 -1
  254. package/dist/tools/tax.js +3 -2
  255. package/dist/tools/tax.js.map +1 -1
  256. package/dist/tools/taxreductions.d.ts +2 -1
  257. package/dist/tools/taxreductions.d.ts.map +1 -1
  258. package/dist/tools/taxreductions.js +3 -2
  259. package/dist/tools/taxreductions.js.map +1 -1
  260. package/dist/version.d.ts +2 -0
  261. package/dist/version.d.ts.map +1 -0
  262. package/dist/version.js +3 -0
  263. package/dist/version.js.map +1 -0
  264. package/docs/embedded.md +60 -0
  265. package/package.json +23 -4
@@ -1,52 +1,64 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
2
  import { documentSegment } from '../identifiers.js';
3
- export async function listContracts(params = {}) {
4
- const queryParams = {
5
- filter: params.filter,
6
- };
7
- if (params.all) {
8
- const { items, totalResources } = await fetchAllPages('contracts', 'Contracts', queryParams);
9
- return {
10
- Contracts: items,
11
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
3
+ export function createContractOperations(transport) {
4
+ async function listContracts(params = {}) {
5
+ const queryParams = {
6
+ filter: params.filter,
12
7
  };
8
+ if (params.all) {
9
+ const { items, totalResources } = await transport.fetchAllPages('contracts', 'Contracts', queryParams);
10
+ return {
11
+ Contracts: items,
12
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
13
+ };
14
+ }
15
+ return transport.request('contracts', {
16
+ params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
17
+ });
13
18
  }
14
- return fortnoxRequest('contracts', {
15
- params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
16
- });
17
- }
18
- export async function getContract(documentNumber) {
19
- const data = await fortnoxRequest(`contracts/${documentSegment(documentNumber)}`);
20
- return data.Contract;
21
- }
22
- export async function createContract(params) {
23
- const data = await fortnoxRequest('contracts', {
24
- method: 'POST',
25
- body: { Contract: params },
26
- });
27
- return data.Contract;
28
- }
29
- export async function updateContract(documentNumber, fields) {
30
- const { documentNumber: _, ...body } = fields;
31
- const data = await fortnoxRequest(`contracts/${documentSegment(documentNumber)}`, {
32
- method: 'PUT',
33
- body: { Contract: body },
34
- });
35
- return data.Contract;
36
- }
37
- // Mark the contract as finished — no further invoices will be created.
38
- export async function finishContract(documentNumber) {
39
- const data = await fortnoxRequest(`contracts/${documentSegment(documentNumber)}/finish`, { method: 'PUT' });
40
- return data?.Contract || {};
41
- }
42
- // Create the next invoice from the contract immediately. Returns the Invoice.
43
- export async function createInvoiceFromContract(documentNumber) {
44
- const data = await fortnoxRequest(`contracts/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
45
- return data?.Invoice || {};
46
- }
47
- // Extend a non-continuous contract by one invoice.
48
- export async function increaseInvoiceCount(documentNumber) {
49
- const data = await fortnoxRequest(`contracts/${documentSegment(documentNumber)}/increaseinvoicecount`, { method: 'PUT' });
50
- return data?.Contract || {};
19
+ async function getContract(documentNumber) {
20
+ const data = await transport.request(`contracts/${documentSegment(documentNumber)}`);
21
+ return data.Contract;
22
+ }
23
+ async function createContract(params) {
24
+ const data = await transport.request('contracts', {
25
+ method: 'POST',
26
+ body: { Contract: params },
27
+ });
28
+ return data.Contract;
29
+ }
30
+ async function updateContract(documentNumber, fields) {
31
+ const { documentNumber: _, ...body } = fields;
32
+ const data = await transport.request(`contracts/${documentSegment(documentNumber)}`, {
33
+ method: 'PUT',
34
+ body: { Contract: body },
35
+ });
36
+ return data.Contract;
37
+ }
38
+ // Mark the contract as finished — no further invoices will be created.
39
+ async function finishContract(documentNumber) {
40
+ const data = await transport.request(`contracts/${documentSegment(documentNumber)}/finish`, { method: 'PUT' });
41
+ return data?.Contract || {};
42
+ }
43
+ // Create the next invoice from the contract immediately. Returns the Invoice.
44
+ async function createInvoiceFromContract(documentNumber) {
45
+ const data = await transport.request(`contracts/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
46
+ return data?.Invoice || {};
47
+ }
48
+ // Extend a non-continuous contract by one invoice.
49
+ async function increaseInvoiceCount(documentNumber) {
50
+ const data = await transport.request(`contracts/${documentSegment(documentNumber)}/increaseinvoicecount`, { method: 'PUT' });
51
+ return data?.Contract || {};
52
+ }
53
+ return {
54
+ listContracts,
55
+ getContract,
56
+ createContract,
57
+ updateContract,
58
+ finishContract,
59
+ createInvoiceFromContract,
60
+ increaseInvoiceCount,
61
+ };
51
62
  }
63
+ export const { listContracts, getContract, createContract, updateContract, finishContract, createInvoiceFromContract, increaseInvoiceCount, } = createContractOperations(defaultFortnoxTransport);
52
64
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/operations/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsBpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;IAClE,MAAM,WAAW,GAAgD;QAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CACnD,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAoB,WAAW,EAAE;QACpD,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;KAC/E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,cAAsB;IACtD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,CAC/C,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAmB,WAAW,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC3B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAsB,EACtB,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,EAC9C;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzB,CACF,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,cAAsB;IACzD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,SAAS,EACrD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,gBAAgB,EAC5D,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,uBAAuB,EACnE,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/operations/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsBpD,MAAM,UAAU,wBAAwB,CAAC,SAA2B;IAClE,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;QAC3D,MAAM,WAAW,GAAgD;YAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAoB,WAAW,EAAE;YACvD,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,cAAsB;QAC/C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,CAC/C,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAA+B;QAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAmB,WAAW,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,cAAsB,EACtB,MAA+B;QAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,EAC9C;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzB,CACF,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,uEAAuE;IACvE,KAAK,UAAU,cAAc,CAAC,cAAsB;QAClD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,SAAS,EACrD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,8EAA8E;IAC9E,KAAK,UAAU,yBAAyB,CACtC,cAAsB;QAEtB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,gBAAgB,EAC5D,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,mDAAmD;IACnD,KAAK,UAAU,oBAAoB,CAAC,cAAsB;QACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,uBAAuB,EACnE,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,aAAa;QACb,WAAW;QACX,cAAc;QACd,cAAc;QACd,cAAc;QACd,yBAAyB;QACzB,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,GAAG,wBAAwB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- interface CostCentersResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface CostCentersResponse {
2
3
  CostCenters: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -11,10 +12,12 @@ export interface ListCostCentersParams {
11
12
  limit?: number;
12
13
  all?: boolean;
13
14
  }
14
- export declare function listCostCenters(params?: ListCostCentersParams): Promise<CostCentersResponse>;
15
- export declare function getCostCenter(code: string): Promise<Record<string, unknown>>;
16
- export declare function createCostCenter(params: Record<string, unknown>): Promise<Record<string, unknown>>;
17
- export declare function updateCostCenter(code: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
18
- export declare function deleteCostCenter(code: string): Promise<void>;
19
- export {};
15
+ export declare function createCostCenterOperations(transport: FortnoxTransport): {
16
+ listCostCenters: (params?: ListCostCentersParams) => Promise<CostCentersResponse>;
17
+ getCostCenter: (code: string) => Promise<Record<string, unknown>>;
18
+ createCostCenter: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
+ updateCostCenter: (code: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ deleteCostCenter: (code: string) => Promise<void>;
21
+ };
22
+ export declare const listCostCenters: (params?: ListCostCentersParams) => Promise<CostCentersResponse>, getCostCenter: (code: string) => Promise<Record<string, unknown>>, createCostCenter: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateCostCenter: (code: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>, deleteCostCenter: (code: string) => Promise<void>;
20
23
  //# sourceMappingURL=costcenters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"costcenters.d.ts","sourceRoot":"","sources":["../../src/operations/costcenters.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,eAAe,CACnC,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAe9B;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGlF;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAOlC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlE"}
1
+ {"version":3,"file":"costcenters.d.ts","sourceRoot":"","sources":["../../src/operations/costcenters.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,gBAAgB;+BAC7B,qBAAqB,KAAQ,OAAO,CAAC,mBAAmB,CAAC;0BAiB7D,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;+BAQlE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAS3B,MAAM,UACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAYG,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;EAO7D;AAED,eAAO,MACL,eAAe,YA3DwB,qBAAqB,KAAQ,OAAO,CAAC,mBAAmB,CAAC,EA4DhG,aAAa,SA3CsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA4C5E,gBAAgB,WApCN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAoCnC,gBAAgB,SA3BR,MAAM,UACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0BnC,gBAAgB,SAdsB,MAAM,KAAG,OAAO,CAAC,IAAI,CAeN,CAAC"}
@@ -1,38 +1,42 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
2
- export async function listCostCenters(params = {}) {
3
- if (params.all) {
4
- const { items, totalResources } = await fetchAllPages('costcenters', 'CostCenters');
5
- return {
6
- CostCenters: items,
7
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
8
- };
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
+ export function createCostCenterOperations(transport) {
3
+ async function listCostCenters(params = {}) {
4
+ if (params.all) {
5
+ const { items, totalResources } = await transport.fetchAllPages('costcenters', 'CostCenters');
6
+ return {
7
+ CostCenters: items,
8
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
9
+ };
10
+ }
11
+ return transport.request('costcenters', {
12
+ params: { page: params.page || 1, limit: params.limit || 100 },
13
+ });
9
14
  }
10
- return fortnoxRequest('costcenters', {
11
- params: { page: params.page || 1, limit: params.limit || 100 },
12
- });
13
- }
14
- export async function getCostCenter(code) {
15
- const data = await fortnoxRequest(`costcenters/${encodeURIComponent(code)}`);
16
- return data.CostCenter;
17
- }
18
- export async function createCostCenter(params) {
19
- const data = await fortnoxRequest('costcenters', {
20
- method: 'POST',
21
- body: { CostCenter: params },
22
- });
23
- return data.CostCenter;
24
- }
25
- export async function updateCostCenter(code, fields) {
26
- const { Code: _, ...body } = fields;
27
- const data = await fortnoxRequest(`costcenters/${encodeURIComponent(code)}`, {
28
- method: 'PUT',
29
- body: { CostCenter: body },
30
- });
31
- return data.CostCenter;
32
- }
33
- export async function deleteCostCenter(code) {
34
- await fortnoxRequest(`costcenters/${encodeURIComponent(code)}`, {
35
- method: 'DELETE',
36
- });
15
+ async function getCostCenter(code) {
16
+ const data = await transport.request(`costcenters/${encodeURIComponent(code)}`);
17
+ return data.CostCenter;
18
+ }
19
+ async function createCostCenter(params) {
20
+ const data = await transport.request('costcenters', {
21
+ method: 'POST',
22
+ body: { CostCenter: params },
23
+ });
24
+ return data.CostCenter;
25
+ }
26
+ async function updateCostCenter(code, fields) {
27
+ const { Code: _, ...body } = fields;
28
+ const data = await transport.request(`costcenters/${encodeURIComponent(code)}`, {
29
+ method: 'PUT',
30
+ body: { CostCenter: body },
31
+ });
32
+ return data.CostCenter;
33
+ }
34
+ async function deleteCostCenter(code) {
35
+ await transport.request(`costcenters/${encodeURIComponent(code)}`, {
36
+ method: 'DELETE',
37
+ });
38
+ }
39
+ return { listCostCenters, getCostCenter, createCostCenter, updateCostCenter, deleteCostCenter };
37
40
  }
41
+ export const { listCostCenters, getCostCenter, createCostCenter, updateCostCenter, deleteCostCenter, } = createCostCenterOperations(defaultFortnoxTransport);
38
42
  //# sourceMappingURL=costcenters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"costcenters.js","sourceRoot":"","sources":["../../src/operations/costcenters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiBrE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAgC,EAAE;IAElC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CACnD,aAAa,EACb,aAAa,CACd,CAAC;QACF,OAAO;YACL,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAsB,aAAa,EAAE;QACxD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAqB,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAqB,aAAa,EAAE;QACnE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;KAC7B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,MAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAqB,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;QAC/F,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,cAAc,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;QAC9D,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"costcenters.js","sourceRoot":"","sources":["../../src/operations/costcenters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAiBtF,MAAM,UAAU,0BAA0B,CAAC,SAA2B;IACpE,KAAK,UAAU,eAAe,CAAC,SAAgC,EAAE;QAC/D,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,aAAa,EACb,aAAa,CACd,CAAC;YACF,OAAO;gBACL,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAsB,aAAa,EAAE;YAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAY;QACvC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC1C,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,gBAAgB,CAC7B,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAqB,aAAa,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,MAA+B;QAE/B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACzC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SAC3B,CACF,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;QAC1C,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACjE,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,MAAM,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,GAAG,0BAA0B,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- interface CustomersResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface CustomersResponse {
2
3
  Customers: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -12,9 +13,11 @@ export interface ListCustomersParams {
12
13
  limit?: number;
13
14
  all?: boolean;
14
15
  }
15
- export declare function listCustomers(params?: ListCustomersParams): Promise<CustomersResponse>;
16
- export declare function getCustomer(customerNumber: string): Promise<Record<string, unknown>>;
17
- export declare function createCustomer(params: Record<string, unknown>): Promise<Record<string, unknown>>;
18
- export declare function updateCustomer(customerNumber: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
19
- export {};
16
+ export declare function createCustomerOperations(transport: FortnoxTransport): {
17
+ listCustomers: (params?: ListCustomersParams) => Promise<CustomersResponse>;
18
+ getCustomer: (customerNumber: string) => Promise<Record<string, unknown>>;
19
+ createCustomer: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ updateCustomer: (customerNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
21
+ };
22
+ export declare const listCustomers: (params?: ListCustomersParams) => Promise<CustomersResponse>, getCustomer: (customerNumber: string) => Promise<Record<string, unknown>>, createCustomer: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateCustomer: (customerNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
23
  //# sourceMappingURL=customers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/operations/customers.ts"],"names":[],"mappings":"AAOA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoBhG;AAED,wBAAsB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAK1F;AAaD,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/operations/customers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOtF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB;6BAC7B,mBAAmB,KAAQ,OAAO,CAAC,iBAAiB,CAAC;kCAsB/C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAkB9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;qCAS9E,MAAM,UACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAapC;AAED,eAAO,MAAQ,aAAa,YAlEW,mBAAmB,KAAQ,OAAO,CAAC,iBAAiB,CAAC,EAkE9D,WAAW,mBA5CI,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA4C3C,cAAc,WA1BjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0BvC,cAAc,mBAjBrD,MAAM,UACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBe,CAAC"}
@@ -1,47 +1,51 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
2
  import { customerSegment } from '../identifiers.js';
3
- export async function listCustomers(params = {}) {
4
- const queryParams = {
5
- ...(params.search ? { name: params.search } : {}),
6
- };
7
- if (params.all) {
8
- const { items, totalResources } = await fetchAllPages('customers', 'Customers', queryParams);
9
- return {
10
- Customers: items,
11
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
3
+ export function createCustomerOperations(transport) {
4
+ async function listCustomers(params = {}) {
5
+ const queryParams = {
6
+ ...(params.search ? { name: params.search } : {}),
12
7
  };
8
+ if (params.all) {
9
+ const { items, totalResources } = await transport.fetchAllPages('customers', 'Customers', queryParams);
10
+ return {
11
+ Customers: items,
12
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
13
+ };
14
+ }
15
+ return transport.request('customers', {
16
+ params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
17
+ });
13
18
  }
14
- return fortnoxRequest('customers', {
15
- params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
16
- });
17
- }
18
- export async function getCustomer(customerNumber) {
19
- const data = await fortnoxRequest(`customers/${customerSegment(customerNumber)}`);
20
- return data.Customer;
21
- }
22
- // Server-derived display fields Fortnox rejects on write ("Fältet Country är
23
- // endast läsbart"). Stripping them lets a `get` response be fed back into
24
- // create/update unchanged; the *CountryCode fields remain the writable source.
25
- const READ_ONLY_CUSTOMER_FIELDS = ['Country', 'DeliveryCountry', 'VisitingCountry'];
26
- function stripReadOnlyFields(params) {
27
- const writable = { ...params };
28
- for (const field of READ_ONLY_CUSTOMER_FIELDS)
29
- delete writable[field];
30
- return writable;
31
- }
32
- export async function createCustomer(params) {
33
- const data = await fortnoxRequest('customers', {
34
- method: 'POST',
35
- body: { Customer: stripReadOnlyFields(params) },
36
- });
37
- return data.Customer;
38
- }
39
- export async function updateCustomer(customerNumber, fields) {
40
- const { customerNumber: _, ...body } = fields;
41
- const data = await fortnoxRequest(`customers/${customerSegment(customerNumber)}`, {
42
- method: 'PUT',
43
- body: { Customer: stripReadOnlyFields(body) },
44
- });
45
- return data.Customer;
19
+ async function getCustomer(customerNumber) {
20
+ const data = await transport.request(`customers/${customerSegment(customerNumber)}`);
21
+ return data.Customer;
22
+ }
23
+ // Server-derived display fields Fortnox rejects on write ("Fältet Country är
24
+ // endast läsbart"). Stripping them lets a `get` response be fed back into
25
+ // create/update unchanged; the *CountryCode fields remain the writable source.
26
+ const READ_ONLY_CUSTOMER_FIELDS = ['Country', 'DeliveryCountry', 'VisitingCountry'];
27
+ function stripReadOnlyFields(params) {
28
+ const writable = { ...params };
29
+ for (const field of READ_ONLY_CUSTOMER_FIELDS)
30
+ delete writable[field];
31
+ return writable;
32
+ }
33
+ async function createCustomer(params) {
34
+ const data = await transport.request('customers', {
35
+ method: 'POST',
36
+ body: { Customer: stripReadOnlyFields(params) },
37
+ });
38
+ return data.Customer;
39
+ }
40
+ async function updateCustomer(customerNumber, fields) {
41
+ const { customerNumber: _, ...body } = fields;
42
+ const data = await transport.request(`customers/${customerSegment(customerNumber)}`, {
43
+ method: 'PUT',
44
+ body: { Customer: stripReadOnlyFields(body) },
45
+ });
46
+ return data.Customer;
47
+ }
48
+ return { listCustomers, getCustomer, createCustomer, updateCustomer };
46
49
  }
50
+ export const { listCustomers, getCustomer, createCustomer, updateCustomer } = createCustomerOperations(defaultFortnoxTransport);
47
51
  //# sourceMappingURL=customers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/operations/customers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAkBpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;IAClE,MAAM,WAAW,GAAgD;QAC/D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CACnD,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAoB,WAAW,EAAE;QACpD,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;KAC/E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,cAAsB;IACtD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,CAC/C,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,CAAU,CAAC;AAE7F,SAAS,mBAAmB,CAAC,MAA+B;IAC1D,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,yBAAyB;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAmB,WAAW,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE;KAChD,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAsB,EACtB,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,EAC9C;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE;KAC9C,CACF,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/operations/customers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAkBpD,MAAM,UAAU,wBAAwB,CAAC,SAA2B;IAClE,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;QAC3D,MAAM,WAAW,GAAgD;YAC/D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAoB,WAAW,EAAE;YACvD,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,cAAsB;QAC/C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,CAC/C,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,CAAU,CAAC;IAE7F,SAAS,mBAAmB,CAAC,MAA+B;QAC1D,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,yBAAyB;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAA+B;QAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAmB,WAAW,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE;SAChD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,cAAsB,EACtB,MAA+B;QAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,eAAe,CAAC,cAAc,CAAC,EAAE,EAC9C;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE;SAC9C,CACF,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,GACzE,wBAAwB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- interface EmployeesResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface EmployeesResponse {
2
3
  Employees: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -11,9 +12,11 @@ export interface ListEmployeesParams {
11
12
  limit?: number;
12
13
  all?: boolean;
13
14
  }
14
- export declare function listEmployees(params?: ListEmployeesParams): Promise<EmployeesResponse>;
15
- export declare function getEmployee(employeeId: string): Promise<Record<string, unknown>>;
16
- export declare function createEmployee(params: Record<string, unknown>): Promise<Record<string, unknown>>;
17
- export declare function updateEmployee(employeeId: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
18
- export {};
15
+ export declare function createEmployeeOperations(transport: FortnoxTransport): {
16
+ listEmployees: (params?: ListEmployeesParams) => Promise<EmployeesResponse>;
17
+ getEmployee: (employeeId: string) => Promise<Record<string, unknown>>;
18
+ createEmployee: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
+ updateEmployee: (employeeId: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ };
21
+ export declare const listEmployees: (params?: ListEmployeesParams) => Promise<EmployeesResponse>, getEmployee: (employeeId: string) => Promise<Record<string, unknown>>, createEmployee: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateEmployee: (employeeId: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
22
  //# sourceMappingURL=employees.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"employees.d.ts","sourceRoot":"","sources":["../../src/operations/employees.ts"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAehG;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKtF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAWlC"}
1
+ {"version":3,"file":"employees.d.ts","sourceRoot":"","sources":["../../src/operations/employees.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB;6BAC7B,mBAAmB,KAAQ,OAAO,CAAC,iBAAiB,CAAC;8BAiBnD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAO1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCASlF,MAAM,UACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAcpC;AAED,eAAO,MAAQ,aAAa,YAnDW,mBAAmB,KAAQ,OAAO,CAAC,iBAAiB,CAAC,EAmD9D,WAAW,eAlCA,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAkCvC,cAAc,WA3BjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA2BvC,cAAc,eAlBzD,MAAM,UACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBe,CAAC"}
@@ -1,34 +1,38 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
2
- export async function listEmployees(params = {}) {
3
- if (params.all) {
4
- const { items, totalResources } = await fetchAllPages('employees', 'Employees');
5
- return {
6
- Employees: items,
7
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
8
- };
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
+ export function createEmployeeOperations(transport) {
3
+ async function listEmployees(params = {}) {
4
+ if (params.all) {
5
+ const { items, totalResources } = await transport.fetchAllPages('employees', 'Employees');
6
+ return {
7
+ Employees: items,
8
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
9
+ };
10
+ }
11
+ return transport.request('employees', {
12
+ params: { page: params.page || 1, limit: params.limit || 100 },
13
+ });
9
14
  }
10
- return fortnoxRequest('employees', {
11
- params: { page: params.page || 1, limit: params.limit || 100 },
12
- });
13
- }
14
- export async function getEmployee(employeeId) {
15
- const data = await fortnoxRequest(`employees/${encodeURIComponent(employeeId)}`);
16
- return data.Employee;
17
- }
18
- export async function createEmployee(params) {
19
- const data = await fortnoxRequest('employees', {
20
- method: 'POST',
21
- body: { Employee: params },
22
- });
23
- return data.Employee;
24
- }
25
- export async function updateEmployee(employeeId, fields) {
26
- // EmployeeId is the path key — never send it in the PUT body.
27
- const { EmployeeId: _, ...body } = fields;
28
- const data = await fortnoxRequest(`employees/${encodeURIComponent(employeeId)}`, {
29
- method: 'PUT',
30
- body: { Employee: body },
31
- });
32
- return data.Employee;
15
+ async function getEmployee(employeeId) {
16
+ const data = await transport.request(`employees/${encodeURIComponent(employeeId)}`);
17
+ return data.Employee;
18
+ }
19
+ async function createEmployee(params) {
20
+ const data = await transport.request('employees', {
21
+ method: 'POST',
22
+ body: { Employee: params },
23
+ });
24
+ return data.Employee;
25
+ }
26
+ async function updateEmployee(employeeId, fields) {
27
+ // EmployeeId is the path key — never send it in the PUT body.
28
+ const { EmployeeId: _, ...body } = fields;
29
+ const data = await transport.request(`employees/${encodeURIComponent(employeeId)}`, {
30
+ method: 'PUT',
31
+ body: { Employee: body },
32
+ });
33
+ return data.Employee;
34
+ }
35
+ return { listEmployees, getEmployee, createEmployee, updateEmployee };
33
36
  }
37
+ export const { listEmployees, getEmployee, createEmployee, updateEmployee } = createEmployeeOperations(defaultFortnoxTransport);
34
38
  //# sourceMappingURL=employees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"employees.js","sourceRoot":"","sources":["../../src/operations/employees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiBrE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;IAClE,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CACnD,WAAW,EACX,WAAW,CACZ,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAoB,WAAW,EAAE;QACpD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAC9C,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAmB,WAAW,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC3B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,MAA+B;IAE/B,8DAA8D;IAC9D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC7C;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzB,CACF,CAAC;IACF,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"employees.js","sourceRoot":"","sources":["../../src/operations/employees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAiBtF,MAAM,UAAU,wBAAwB,CAAC,SAA2B;IAClE,KAAK,UAAU,aAAa,CAAC,SAA8B,EAAE;QAC3D,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,WAAW,EACX,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAoB,WAAW,EAAE;YACvD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,UAAkB;QAC3C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAC9C,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAA+B;QAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAmB,WAAW,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,UAAkB,EAClB,MAA+B;QAE/B,8DAA8D;QAC9D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC7C;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzB,CACF,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,GACzE,wBAAwB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
1
2
  export interface FinancialReportParams {
2
3
  financialYear?: number;
3
4
  fromDate?: string;
@@ -32,6 +33,10 @@ export interface BalanceSheet {
32
33
  liabilitiesAndEquity: ReportSection[];
33
34
  totalLiabilitiesAndEquity: number;
34
35
  }
35
- export declare function getIncomeStatement(params?: FinancialReportParams): Promise<IncomeStatement>;
36
- export declare function getBalanceSheet(params?: FinancialReportParams): Promise<BalanceSheet>;
36
+ /** Fetch all pages of accounts for a financial year. */
37
+ export declare function createFinancialReportOperations(transport: FortnoxTransport): {
38
+ getIncomeStatement: (params?: FinancialReportParams) => Promise<IncomeStatement>;
39
+ getBalanceSheet: (params?: FinancialReportParams) => Promise<BalanceSheet>;
40
+ };
41
+ export declare const getIncomeStatement: (params?: FinancialReportParams) => Promise<IncomeStatement>, getBalanceSheet: (params?: FinancialReportParams) => Promise<BalanceSheet>;
37
42
  //# sourceMappingURL=financial-reports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"financial-reports.d.ts","sourceRoot":"","sources":["../../src/operations/financial-reports.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,aAAa,EAAE,CAAC;IACtC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAqND,wBAAsB,kBAAkB,CACtC,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAED,wBAAsB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC,CAwB/F"}
1
+ {"version":3,"file":"financial-reports.d.ts","sourceRoot":"","sources":["../../src/operations/financial-reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA4BtF,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,aAAa,EAAE,CAAC;IACtC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAuCD,wDAAwD;AACxD,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,gBAAgB;kCA8K/B,qBAAqB,KAAQ,OAAO,CAAC,eAAe,CAAC;+BAuBxD,qBAAqB,KAAQ,OAAO,CAAC,YAAY,CAAC;EA2B1F;AAED,eAAO,MAAQ,kBAAkB,YApDW,qBAAqB,KAAQ,OAAO,CAAC,eAAe,CAAC,EAoD9D,eAAe,YA7BT,qBAAqB,KAAQ,OAAO,CAAC,YAAY,CA8BhC,CAAC"}