noxctl 0.7.4 → 0.9.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 (272) hide show
  1. package/README.md +50 -4
  2. package/dist/auth.d.ts +18 -1
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +129 -15
  5. package/dist/auth.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +144 -33
  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 +40 -25
  18. package/dist/fortnox-client.d.ts.map +1 -1
  19. package/dist/fortnox-client.js +165 -51
  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 +311 -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 +34 -30
  86. package/dist/operations/invoices.d.ts.map +1 -1
  87. package/dist/operations/invoices.js +225 -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 +26 -8
  138. package/dist/operations/vouchers.d.ts.map +1 -1
  139. package/dist/operations/vouchers.js +174 -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/scope-probes.d.ts.map +1 -1
  150. package/dist/scope-probes.js +1 -0
  151. package/dist/scope-probes.js.map +1 -1
  152. package/dist/strict-mcp-server.d.ts +17 -0
  153. package/dist/strict-mcp-server.d.ts.map +1 -0
  154. package/dist/strict-mcp-server.js +35 -0
  155. package/dist/strict-mcp-server.js.map +1 -0
  156. package/dist/tools/absencetransactions.d.ts +2 -1
  157. package/dist/tools/absencetransactions.d.ts.map +1 -1
  158. package/dist/tools/absencetransactions.js +3 -2
  159. package/dist/tools/absencetransactions.js.map +1 -1
  160. package/dist/tools/analytics.d.ts +2 -1
  161. package/dist/tools/analytics.d.ts.map +1 -1
  162. package/dist/tools/analytics.js +3 -2
  163. package/dist/tools/analytics.js.map +1 -1
  164. package/dist/tools/articles.d.ts +2 -1
  165. package/dist/tools/articles.d.ts.map +1 -1
  166. package/dist/tools/articles.js +3 -2
  167. package/dist/tools/articles.js.map +1 -1
  168. package/dist/tools/attendancetransactions.d.ts +2 -1
  169. package/dist/tools/attendancetransactions.d.ts.map +1 -1
  170. package/dist/tools/attendancetransactions.js +3 -2
  171. package/dist/tools/attendancetransactions.js.map +1 -1
  172. package/dist/tools/bookkeeping.d.ts +2 -1
  173. package/dist/tools/bookkeeping.d.ts.map +1 -1
  174. package/dist/tools/bookkeeping.js +83 -5
  175. package/dist/tools/bookkeeping.js.map +1 -1
  176. package/dist/tools/company.d.ts +2 -1
  177. package/dist/tools/company.d.ts.map +1 -1
  178. package/dist/tools/company.js +3 -2
  179. package/dist/tools/company.js.map +1 -1
  180. package/dist/tools/contracts.d.ts +2 -1
  181. package/dist/tools/contracts.d.ts.map +1 -1
  182. package/dist/tools/contracts.js +3 -2
  183. package/dist/tools/contracts.js.map +1 -1
  184. package/dist/tools/costcenters.d.ts +2 -1
  185. package/dist/tools/costcenters.d.ts.map +1 -1
  186. package/dist/tools/costcenters.js +3 -2
  187. package/dist/tools/costcenters.js.map +1 -1
  188. package/dist/tools/customers.d.ts +2 -1
  189. package/dist/tools/customers.d.ts.map +1 -1
  190. package/dist/tools/customers.js +3 -2
  191. package/dist/tools/customers.js.map +1 -1
  192. package/dist/tools/employees.d.ts +2 -1
  193. package/dist/tools/employees.d.ts.map +1 -1
  194. package/dist/tools/employees.js +3 -2
  195. package/dist/tools/employees.js.map +1 -1
  196. package/dist/tools/financial-reports.d.ts +2 -1
  197. package/dist/tools/financial-reports.d.ts.map +1 -1
  198. package/dist/tools/financial-reports.js +3 -2
  199. package/dist/tools/financial-reports.js.map +1 -1
  200. package/dist/tools/financial-years.d.ts +2 -1
  201. package/dist/tools/financial-years.d.ts.map +1 -1
  202. package/dist/tools/financial-years.js +3 -2
  203. package/dist/tools/financial-years.js.map +1 -1
  204. package/dist/tools/invoice-payments.d.ts +2 -1
  205. package/dist/tools/invoice-payments.d.ts.map +1 -1
  206. package/dist/tools/invoice-payments.js +3 -2
  207. package/dist/tools/invoice-payments.js.map +1 -1
  208. package/dist/tools/invoices.d.ts +2 -1
  209. package/dist/tools/invoices.d.ts.map +1 -1
  210. package/dist/tools/invoices.js +100 -21
  211. package/dist/tools/invoices.js.map +1 -1
  212. package/dist/tools/offers.d.ts +2 -1
  213. package/dist/tools/offers.d.ts.map +1 -1
  214. package/dist/tools/offers.js +50 -19
  215. package/dist/tools/offers.js.map +1 -1
  216. package/dist/tools/orders.d.ts +2 -1
  217. package/dist/tools/orders.d.ts.map +1 -1
  218. package/dist/tools/orders.js +58 -18
  219. package/dist/tools/orders.js.map +1 -1
  220. package/dist/tools/pricelists.d.ts +2 -1
  221. package/dist/tools/pricelists.d.ts.map +1 -1
  222. package/dist/tools/pricelists.js +3 -2
  223. package/dist/tools/pricelists.js.map +1 -1
  224. package/dist/tools/projects.d.ts +2 -1
  225. package/dist/tools/projects.d.ts.map +1 -1
  226. package/dist/tools/projects.js +3 -2
  227. package/dist/tools/projects.js.map +1 -1
  228. package/dist/tools/recurrings.d.ts +2 -1
  229. package/dist/tools/recurrings.d.ts.map +1 -1
  230. package/dist/tools/recurrings.js +3 -2
  231. package/dist/tools/recurrings.js.map +1 -1
  232. package/dist/tools/salarytransactions.d.ts +2 -1
  233. package/dist/tools/salarytransactions.d.ts.map +1 -1
  234. package/dist/tools/salarytransactions.js +3 -2
  235. package/dist/tools/salarytransactions.js.map +1 -1
  236. package/dist/tools/scheduletimes.d.ts +2 -1
  237. package/dist/tools/scheduletimes.d.ts.map +1 -1
  238. package/dist/tools/scheduletimes.js +3 -2
  239. package/dist/tools/scheduletimes.js.map +1 -1
  240. package/dist/tools/status.d.ts.map +1 -1
  241. package/dist/tools/status.js +5 -4
  242. package/dist/tools/status.js.map +1 -1
  243. package/dist/tools/supplier-invoice-payments.d.ts +2 -1
  244. package/dist/tools/supplier-invoice-payments.d.ts.map +1 -1
  245. package/dist/tools/supplier-invoice-payments.js +3 -2
  246. package/dist/tools/supplier-invoice-payments.js.map +1 -1
  247. package/dist/tools/supplier-invoices.d.ts +2 -1
  248. package/dist/tools/supplier-invoices.d.ts.map +1 -1
  249. package/dist/tools/supplier-invoices.js +47 -6
  250. package/dist/tools/supplier-invoices.js.map +1 -1
  251. package/dist/tools/suppliers.d.ts +2 -1
  252. package/dist/tools/suppliers.d.ts.map +1 -1
  253. package/dist/tools/suppliers.js +3 -2
  254. package/dist/tools/suppliers.js.map +1 -1
  255. package/dist/tools/tax.d.ts +2 -1
  256. package/dist/tools/tax.d.ts.map +1 -1
  257. package/dist/tools/tax.js +3 -2
  258. package/dist/tools/tax.js.map +1 -1
  259. package/dist/tools/taxreductions.d.ts +2 -1
  260. package/dist/tools/taxreductions.d.ts.map +1 -1
  261. package/dist/tools/taxreductions.js +3 -2
  262. package/dist/tools/taxreductions.js.map +1 -1
  263. package/dist/version.d.ts +2 -0
  264. package/dist/version.d.ts.map +1 -0
  265. package/dist/version.js +3 -0
  266. package/dist/version.js.map +1 -0
  267. package/dist/views.d.ts +2 -0
  268. package/dist/views.d.ts.map +1 -1
  269. package/dist/views.js +11 -0
  270. package/dist/views.js.map +1 -1
  271. package/docs/embedded.md +60 -0
  272. package/package.json +23 -4
@@ -1,48 +1,59 @@
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 listOffers(params = {}) {
4
- const queryParams = {
5
- filter: params.filter,
6
- customernumber: params.customerNumber,
7
- fromdate: params.fromDate,
8
- todate: params.toDate,
9
- };
10
- if (params.all) {
11
- const { items, totalResources } = await fetchAllPages('offers', 'Offers', queryParams);
12
- return {
13
- Offers: items,
14
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
3
+ export function createOfferOperations(transport) {
4
+ async function listOffers(params = {}) {
5
+ const queryParams = {
6
+ filter: params.filter,
7
+ customernumber: params.customerNumber,
8
+ fromdate: params.fromDate,
9
+ todate: params.toDate,
15
10
  };
11
+ if (params.all) {
12
+ const { items, totalResources } = await transport.fetchAllPages('offers', 'Offers', queryParams);
13
+ return {
14
+ Offers: items,
15
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
16
+ };
17
+ }
18
+ return transport.request('offers', {
19
+ params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
20
+ });
16
21
  }
17
- return fortnoxRequest('offers', {
18
- params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
19
- });
20
- }
21
- export async function getOffer(documentNumber) {
22
- const data = await fortnoxRequest(`offers/${documentSegment(documentNumber)}`);
23
- return data.Offer;
24
- }
25
- export async function createOffer(params) {
26
- const data = await fortnoxRequest('offers', {
27
- method: 'POST',
28
- body: { Offer: params },
29
- });
30
- return data.Offer;
31
- }
32
- export async function updateOffer(documentNumber, fields) {
33
- const { documentNumber: _, ...body } = fields;
34
- const data = await fortnoxRequest(`offers/${documentSegment(documentNumber)}`, {
35
- method: 'PUT',
36
- body: { Offer: body },
37
- });
38
- return data.Offer;
39
- }
40
- export async function createInvoiceFromOffer(documentNumber) {
41
- const data = await fortnoxRequest(`offers/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
42
- return data.Invoice;
43
- }
44
- export async function createOrderFromOffer(documentNumber) {
45
- const data = await fortnoxRequest(`offers/${documentSegment(documentNumber)}/createorder`, { method: 'PUT' });
46
- return data.Order;
22
+ async function getOffer(documentNumber) {
23
+ const data = await transport.request(`offers/${documentSegment(documentNumber)}`);
24
+ return data.Offer;
25
+ }
26
+ async function createOffer(params) {
27
+ const data = await transport.request('offers', {
28
+ method: 'POST',
29
+ body: { Offer: params },
30
+ });
31
+ return data.Offer;
32
+ }
33
+ async function updateOffer(documentNumber, fields) {
34
+ const { documentNumber: _, ...body } = fields;
35
+ const data = await transport.request(`offers/${documentSegment(documentNumber)}`, {
36
+ method: 'PUT',
37
+ body: { Offer: body },
38
+ });
39
+ return data.Offer;
40
+ }
41
+ async function createInvoiceFromOffer(documentNumber) {
42
+ const data = await transport.request(`offers/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
43
+ return data.Invoice;
44
+ }
45
+ async function createOrderFromOffer(documentNumber) {
46
+ const data = await transport.request(`offers/${documentSegment(documentNumber)}/createorder`, { method: 'PUT' });
47
+ return data.Order;
48
+ }
49
+ return {
50
+ listOffers,
51
+ getOffer,
52
+ createOffer,
53
+ updateOffer,
54
+ createInvoiceFromOffer,
55
+ createOrderFromOffer,
56
+ };
47
57
  }
58
+ export const { listOffers, getOffer, createOffer, updateOffer, createInvoiceFromOffer, createOrderFromOffer, } = createOfferOperations(defaultFortnoxTransport);
48
59
  //# sourceMappingURL=offers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offers.js","sourceRoot":"","sources":["../../src/operations/offers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAqBpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAA2B,EAAE;IAC5D,MAAM,WAAW,GAAgD;QAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,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,QAAQ,EACR,QAAQ,EACR,WAAW,CACZ,CAAC;QACF,OAAO;YACL,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAiB,QAAQ,EAAE;QAC9C,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,QAAQ,CAAC,cAAsB;IACnD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,QAAQ,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;KACxB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAAsB,EACtB,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE;QAC5F,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,UAAU,eAAe,CAAC,cAAc,CAAC,gBAAgB,EACzD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,UAAU,eAAe,CAAC,cAAc,CAAC,cAAc,EACvD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"offers.js","sourceRoot":"","sources":["../../src/operations/offers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- interface OrdersResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface OrdersResponse {
2
3
  Orders: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -15,10 +16,12 @@ export interface ListOrdersParams {
15
16
  limit?: number;
16
17
  all?: boolean;
17
18
  }
18
- export declare function listOrders(params?: ListOrdersParams): Promise<OrdersResponse>;
19
- export declare function getOrder(documentNumber: string): Promise<Record<string, unknown>>;
20
- export declare function createOrder(params: Record<string, unknown>): Promise<Record<string, unknown>>;
21
- export declare function updateOrder(documentNumber: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
22
- export declare function createInvoiceFromOrder(documentNumber: string): Promise<Record<string, unknown>>;
23
- export {};
19
+ export declare function createOrderOperations(transport: FortnoxTransport): {
20
+ listOrders: (params?: ListOrdersParams) => Promise<OrdersResponse>;
21
+ getOrder: (documentNumber: string) => Promise<Record<string, unknown>>;
22
+ createOrder: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
23
+ updateOrder: (documentNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
24
+ createInvoiceFromOrder: (documentNumber: string) => Promise<Record<string, unknown>>;
25
+ };
26
+ export declare const listOrders: (params?: ListOrdersParams) => Promise<OrdersResponse>, getOrder: (documentNumber: string) => Promise<Record<string, unknown>>, createOrder: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateOrder: (documentNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>, createInvoiceFromOrder: (documentNumber: string) => Promise<Record<string, unknown>>;
24
27
  //# sourceMappingURL=orders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/operations/orders.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,UAAU,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAuBvF;AAED,wBAAsB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGvF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAOlC;AAED,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC"}
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/operations/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOtF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,qBAAqB,CAAC,SAAS,EAAE,gBAAgB;0BAC7B,gBAAgB,KAAQ,OAAO,CAAC,cAAc,CAAC;+BAyBzC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;0BAO9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;kCAS3E,MAAM,UACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6CAYmB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAShG;AAED,eAAO,MAAQ,UAAU,YAlEW,gBAAgB,KAAQ,OAAO,CAAC,cAAc,CAAC,EAkExD,QAAQ,mBAzCO,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAyC9C,WAAW,WAlCX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAkC7C,WAAW,mBAzBzC,MAAM,UACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAuB0B,sBAAsB,mBAX7B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYhD,CAAC"}
@@ -1,44 +1,48 @@
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 listOrders(params = {}) {
4
- const queryParams = {
5
- filter: params.filter,
6
- customernumber: params.customerNumber,
7
- fromdate: params.fromDate,
8
- todate: params.toDate,
9
- };
10
- if (params.all) {
11
- const { items, totalResources } = await fetchAllPages('orders', 'Orders', queryParams);
12
- return {
13
- Orders: items,
14
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
3
+ export function createOrderOperations(transport) {
4
+ async function listOrders(params = {}) {
5
+ const queryParams = {
6
+ filter: params.filter,
7
+ customernumber: params.customerNumber,
8
+ fromdate: params.fromDate,
9
+ todate: params.toDate,
15
10
  };
11
+ if (params.all) {
12
+ const { items, totalResources } = await transport.fetchAllPages('orders', 'Orders', queryParams);
13
+ return {
14
+ Orders: items,
15
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
16
+ };
17
+ }
18
+ return transport.request('orders', {
19
+ params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
20
+ });
16
21
  }
17
- return fortnoxRequest('orders', {
18
- params: { ...queryParams, page: params.page || 1, limit: params.limit || 100 },
19
- });
20
- }
21
- export async function getOrder(documentNumber) {
22
- const data = await fortnoxRequest(`orders/${documentSegment(documentNumber)}`);
23
- return data.Order;
24
- }
25
- export async function createOrder(params) {
26
- const data = await fortnoxRequest('orders', {
27
- method: 'POST',
28
- body: { Order: params },
29
- });
30
- return data.Order;
31
- }
32
- export async function updateOrder(documentNumber, fields) {
33
- const { documentNumber: _, ...body } = fields;
34
- const data = await fortnoxRequest(`orders/${documentSegment(documentNumber)}`, {
35
- method: 'PUT',
36
- body: { Order: body },
37
- });
38
- return data.Order;
39
- }
40
- export async function createInvoiceFromOrder(documentNumber) {
41
- const data = await fortnoxRequest(`orders/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
42
- return data.Invoice;
22
+ async function getOrder(documentNumber) {
23
+ const data = await transport.request(`orders/${documentSegment(documentNumber)}`);
24
+ return data.Order;
25
+ }
26
+ async function createOrder(params) {
27
+ const data = await transport.request('orders', {
28
+ method: 'POST',
29
+ body: { Order: params },
30
+ });
31
+ return data.Order;
32
+ }
33
+ async function updateOrder(documentNumber, fields) {
34
+ const { documentNumber: _, ...body } = fields;
35
+ const data = await transport.request(`orders/${documentSegment(documentNumber)}`, {
36
+ method: 'PUT',
37
+ body: { Order: body },
38
+ });
39
+ return data.Order;
40
+ }
41
+ async function createInvoiceFromOrder(documentNumber) {
42
+ const data = await transport.request(`orders/${documentSegment(documentNumber)}/createinvoice`, { method: 'PUT' });
43
+ return data.Invoice;
44
+ }
45
+ return { listOrders, getOrder, createOrder, updateOrder, createInvoiceFromOrder };
43
46
  }
47
+ export const { listOrders, getOrder, createOrder, updateOrder, createInvoiceFromOrder } = createOrderOperations(defaultFortnoxTransport);
44
48
  //# sourceMappingURL=orders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/operations/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAqBpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAA2B,EAAE;IAC5D,MAAM,WAAW,GAAgD;QAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,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,QAAQ,EACR,QAAQ,EACR,WAAW,CACZ,CAAC;QACF,OAAO;YACL,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAiB,QAAQ,EAAE;QAC9C,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,QAAQ,CAAC,cAAsB;IACnD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,QAAQ,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;KACxB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAAsB,EACtB,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAgB,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE;QAC5F,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,UAAU,eAAe,CAAC,cAAc,CAAC,gBAAgB,EACzD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/operations/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAqBpD,MAAM,UAAU,qBAAqB,CAAC,SAA2B;IAC/D,KAAK,UAAU,UAAU,CAAC,SAA2B,EAAE;QACrD,MAAM,WAAW,GAAgD;YAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,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,QAAQ,EACR,QAAQ,EACR,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAiB,QAAQ,EAAE;YACjD,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,QAAQ,CAAC,cAAsB;QAC5C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,CAC5C,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,MAA+B;QACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAgB,QAAQ,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,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,UAAU,eAAe,CAAC,cAAc,CAAC,EAAE,EAC3C;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACtB,CACF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,sBAAsB,CAAC,cAAsB;QAC1D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,UAAU,eAAe,CAAC,cAAc,CAAC,gBAAgB,EACzD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,GACrF,qBAAqB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- interface PriceListsResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface PriceListsResponse {
2
3
  PriceLists: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -11,11 +12,14 @@ export interface ListPriceListsParams {
11
12
  limit?: number;
12
13
  all?: boolean;
13
14
  }
14
- export declare function listPriceLists(params?: ListPriceListsParams): Promise<PriceListsResponse>;
15
- export declare function getPriceList(code: string): Promise<Record<string, unknown>>;
16
- export declare function createPriceList(params: Record<string, unknown>): Promise<Record<string, unknown>>;
17
- export declare function updatePriceList(code: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
18
- interface PricesResponse {
15
+ export declare function createPriceListOperations(transport: FortnoxTransport): {
16
+ listPriceLists: (params?: ListPriceListsParams) => Promise<PriceListsResponse>;
17
+ getPriceList: (code: string) => Promise<Record<string, unknown>>;
18
+ createPriceList: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
+ updatePriceList: (code: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ };
21
+ export declare const listPriceLists: (params?: ListPriceListsParams) => Promise<PriceListsResponse>, getPriceList: (code: string) => Promise<Record<string, unknown>>, createPriceList: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updatePriceList: (code: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
22
+ export interface PricesResponse {
19
23
  Prices: Record<string, unknown>[];
20
24
  MetaInformation?: {
21
25
  '@TotalResources': number;
@@ -29,8 +33,10 @@ export interface ListPricesParams {
29
33
  page?: number;
30
34
  limit?: number;
31
35
  }
32
- export declare function listPrices(params: ListPricesParams): Promise<PricesResponse>;
33
- export declare function getPrice(priceListCode: string, articleNumber: string, fromQuantity?: number): Promise<Record<string, unknown>>;
34
- export declare function updatePrice(priceListCode: string, articleNumber: string, fields: Record<string, unknown>, fromQuantity?: number): Promise<Record<string, unknown>>;
35
- export {};
36
+ export declare function createPriceOperations(transport: FortnoxTransport): {
37
+ listPrices: (params: ListPricesParams) => Promise<PricesResponse>;
38
+ getPrice: (priceListCode: string, articleNumber: string, fromQuantity?: number) => Promise<Record<string, unknown>>;
39
+ updatePrice: (priceListCode: string, articleNumber: string, fields: Record<string, unknown>, fromQuantity?: number) => Promise<Record<string, unknown>>;
40
+ };
41
+ export declare const listPrices: (params: ListPricesParams) => Promise<PricesResponse>, getPrice: (priceListCode: string, articleNumber: string, fromQuantity?: number) => Promise<Record<string, unknown>>, updatePrice: (priceListCode: string, articleNumber: string, fields: Record<string, unknown>, fromQuantity?: number) => Promise<Record<string, unknown>>;
36
42
  //# sourceMappingURL=pricelists.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricelists.d.ts","sourceRoot":"","sources":["../../src/operations/pricelists.ts"],"names":[],"mappings":"AAQA,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAClC,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGjF;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAOlC;AAQD,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAQlF;AAED,wBAAsB,QAAQ,CAC5B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,YAAY,SAAI,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC;AAED,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,SAAI,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASlC"}
1
+ {"version":3,"file":"pricelists.d.ts","sourceRoot":"","sources":["../../src/operations/pricelists.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQtF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,gBAAgB;8BAC7B,oBAAoB,KAAQ,OAAO,CAAC,kBAAkB,CAAC;yBAiB3D,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;8BAQjE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;4BAS3B,MAAM,UACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAapC;AAED,eAAO,MAAQ,cAAc,YApDW,oBAAoB,KAAQ,OAAO,CAAC,kBAAkB,CAAC,EAoDhE,YAAY,SAnCP,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAmChC,eAAe,WA3BhD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0ByB,eAAe,SAjBnE,MAAM,UACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBgB,CAAC;AAQrD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB;yBAC7B,gBAAgB,KAAG,OAAO,CAAC,cAAc,CAAC;8BAW3D,MAAM,iBACN,MAAM,4BAEpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAQlB,MAAM,iBACN,MAAM,UACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,4BAE9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAYpC;AAED,eAAO,MAAQ,UAAU,WAxCW,gBAAgB,KAAG,OAAO,CAAC,cAAc,CAAC,EAwCnD,QAAQ,kBA7BhB,MAAM,iBACN,MAAM,4BAEpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0BA,WAAW,kBAlB7B,MAAM,iBACN,MAAM,UACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,4BAE9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAc+D,CAAC"}
@@ -1,52 +1,60 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
2
- export async function listPriceLists(params = {}) {
3
- if (params.all) {
4
- const { items, totalResources } = await fetchAllPages('pricelists', 'PriceLists');
5
- return {
6
- PriceLists: items,
7
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
8
- };
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
+ export function createPriceListOperations(transport) {
3
+ async function listPriceLists(params = {}) {
4
+ if (params.all) {
5
+ const { items, totalResources } = await transport.fetchAllPages('pricelists', 'PriceLists');
6
+ return {
7
+ PriceLists: items,
8
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
9
+ };
10
+ }
11
+ return transport.request('pricelists', {
12
+ params: { page: params.page || 1, limit: params.limit || 100 },
13
+ });
9
14
  }
10
- return fortnoxRequest('pricelists', {
11
- params: { page: params.page || 1, limit: params.limit || 100 },
12
- });
13
- }
14
- export async function getPriceList(code) {
15
- const data = await fortnoxRequest(`pricelists/${encodeURIComponent(code)}`);
16
- return data.PriceList;
17
- }
18
- export async function createPriceList(params) {
19
- const data = await fortnoxRequest('pricelists', {
20
- method: 'POST',
21
- body: { PriceList: params },
22
- });
23
- return data.PriceList;
24
- }
25
- export async function updatePriceList(code, fields) {
26
- const { Code: _, ...body } = fields;
27
- const data = await fortnoxRequest(`pricelists/${encodeURIComponent(code)}`, {
28
- method: 'PUT',
29
- body: { PriceList: body },
30
- });
31
- return data.PriceList;
32
- }
33
- export async function listPrices(params) {
34
- const endpoint = params.articleNumber
35
- ? `prices/sublist/${encodeURIComponent(params.priceListCode)}/${encodeURIComponent(params.articleNumber)}`
36
- : `prices/sublist/${encodeURIComponent(params.priceListCode)}`;
37
- return fortnoxRequest(endpoint, {
38
- params: { page: params.page || 1, limit: params.limit || 100 },
39
- });
40
- }
41
- export async function getPrice(priceListCode, articleNumber, fromQuantity = 0) {
42
- const data = await fortnoxRequest(`prices/${encodeURIComponent(priceListCode)}/${encodeURIComponent(articleNumber)}/${fromQuantity}`);
43
- return data.Price;
15
+ async function getPriceList(code) {
16
+ const data = await transport.request(`pricelists/${encodeURIComponent(code)}`);
17
+ return data.PriceList;
18
+ }
19
+ async function createPriceList(params) {
20
+ const data = await transport.request('pricelists', {
21
+ method: 'POST',
22
+ body: { PriceList: params },
23
+ });
24
+ return data.PriceList;
25
+ }
26
+ async function updatePriceList(code, fields) {
27
+ const { Code: _, ...body } = fields;
28
+ const data = await transport.request(`pricelists/${encodeURIComponent(code)}`, {
29
+ method: 'PUT',
30
+ body: { PriceList: body },
31
+ });
32
+ return data.PriceList;
33
+ }
34
+ return { listPriceLists, getPriceList, createPriceList, updatePriceList };
44
35
  }
45
- export async function updatePrice(priceListCode, articleNumber, fields, fromQuantity = 0) {
46
- const data = await fortnoxRequest(`prices/${encodeURIComponent(priceListCode)}/${encodeURIComponent(articleNumber)}/${fromQuantity}`, {
47
- method: 'PUT',
48
- body: { Price: fields },
49
- });
50
- return data.Price;
36
+ export const { listPriceLists, getPriceList, createPriceList, updatePriceList } = createPriceListOperations(defaultFortnoxTransport);
37
+ export function createPriceOperations(transport) {
38
+ async function listPrices(params) {
39
+ const endpoint = params.articleNumber
40
+ ? `prices/sublist/${encodeURIComponent(params.priceListCode)}/${encodeURIComponent(params.articleNumber)}`
41
+ : `prices/sublist/${encodeURIComponent(params.priceListCode)}`;
42
+ return transport.request(endpoint, {
43
+ params: { page: params.page || 1, limit: params.limit || 100 },
44
+ });
45
+ }
46
+ async function getPrice(priceListCode, articleNumber, fromQuantity = 0) {
47
+ const data = await transport.request(`prices/${encodeURIComponent(priceListCode)}/${encodeURIComponent(articleNumber)}/${fromQuantity}`);
48
+ return data.Price;
49
+ }
50
+ async function updatePrice(priceListCode, articleNumber, fields, fromQuantity = 0) {
51
+ const data = await transport.request(`prices/${encodeURIComponent(priceListCode)}/${encodeURIComponent(articleNumber)}/${fromQuantity}`, {
52
+ method: 'PUT',
53
+ body: { Price: fields },
54
+ });
55
+ return data.Price;
56
+ }
57
+ return { listPrices, getPrice, updatePrice };
51
58
  }
59
+ export const { listPrices, getPrice, updatePrice } = createPriceOperations(defaultFortnoxTransport);
52
60
  //# sourceMappingURL=pricelists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricelists.js","sourceRoot":"","sources":["../../src/operations/pricelists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricelists.js","sourceRoot":"","sources":["../../src/operations/pricelists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAmBtF,MAAM,UAAU,yBAAyB,CAAC,SAA2B;IACnE,KAAK,UAAU,cAAc,CAAC,SAA+B,EAAE;QAC7D,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,YAAY,EACZ,YAAY,CACb,CAAC;YACF,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAqB,YAAY,EAAE;YACzD,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,YAAY,CAAC,IAAY;QACtC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACzC,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAoB,YAAY,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,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,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACxC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC1B,CACF,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,GAC7E,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;AAoBrD,MAAM,UAAU,qBAAqB,CAAC,SAA2B;IAC/D,KAAK,UAAU,UAAU,CAAC,MAAwB;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa;YACnC,CAAC,CAAC,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC1G,CAAC,CAAC,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAEjE,OAAO,SAAS,CAAC,OAAO,CAAiB,QAAQ,EAAE;YACjD,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,QAAQ,CACrB,aAAqB,EACrB,aAAqB,EACrB,YAAY,GAAG,CAAC;QAEhB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,UAAU,kBAAkB,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE,CACnG,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,aAAqB,EACrB,aAAqB,EACrB,MAA+B,EAC/B,YAAY,GAAG,CAAC;QAEhB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,UAAU,kBAAkB,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE,EAClG;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CACF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- interface ProjectsResponse {
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
2
+ export interface ProjectsResponse {
2
3
  Projects: Record<string, unknown>[];
3
4
  MetaInformation?: {
4
5
  '@TotalResources': number;
@@ -11,9 +12,11 @@ export interface ListProjectsParams {
11
12
  limit?: number;
12
13
  all?: boolean;
13
14
  }
14
- export declare function listProjects(params?: ListProjectsParams): Promise<ProjectsResponse>;
15
- export declare function getProject(projectNumber: string): Promise<Record<string, unknown>>;
16
- export declare function createProject(params: Record<string, unknown>): Promise<Record<string, unknown>>;
17
- export declare function updateProject(projectNumber: string, fields: Record<string, unknown>): Promise<Record<string, unknown>>;
18
- export {};
15
+ export declare function createProjectOperations(transport: FortnoxTransport): {
16
+ listProjects: (params?: ListProjectsParams) => Promise<ProjectsResponse>;
17
+ getProject: (projectNumber: string) => Promise<Record<string, unknown>>;
18
+ createProject: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
+ updateProject: (projectNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ };
21
+ export declare const listProjects: (params?: ListProjectsParams) => Promise<ProjectsResponse>, getProject: (projectNumber: string) => Promise<Record<string, unknown>>, createProject: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateProject: (projectNumber: string, fields: Record<string, unknown>) => Promise<Record<string, unknown>>;
19
22
  //# sourceMappingURL=projects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/operations/projects.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe7F;AAED,wBAAsB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKxF;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC;AAED,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/operations/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB;4BAC7B,kBAAkB,KAAQ,OAAO,CAAC,gBAAgB,CAAC;gCAiB9C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;4BAO7C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;mCAS9E,MAAM,UACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAapC;AAED,eAAO,MAAQ,YAAY,YAlDW,kBAAkB,KAAQ,OAAO,CAAC,gBAAgB,CAAC,EAkD5D,UAAU,kBAjCI,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAiC3C,aAAa,WA1Bf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0BzC,aAAa,kBAjBlD,MAAM,UACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBc,CAAC"}
@@ -1,33 +1,37 @@
1
- import { fortnoxRequest, fetchAllPages } from '../fortnox-client.js';
2
- export async function listProjects(params = {}) {
3
- if (params.all) {
4
- const { items, totalResources } = await fetchAllPages('projects', 'Projects');
5
- return {
6
- Projects: items,
7
- MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
8
- };
1
+ import { defaultFortnoxTransport } from '../fortnox-client.js';
2
+ export function createProjectOperations(transport) {
3
+ async function listProjects(params = {}) {
4
+ if (params.all) {
5
+ const { items, totalResources } = await transport.fetchAllPages('projects', 'Projects');
6
+ return {
7
+ Projects: items,
8
+ MetaInformation: { '@TotalResources': totalResources, '@TotalPages': 1, '@CurrentPage': 1 },
9
+ };
10
+ }
11
+ return transport.request('projects', {
12
+ params: { page: params.page || 1, limit: params.limit || 100 },
13
+ });
9
14
  }
10
- return fortnoxRequest('projects', {
11
- params: { page: params.page || 1, limit: params.limit || 100 },
12
- });
13
- }
14
- export async function getProject(projectNumber) {
15
- const data = await fortnoxRequest(`projects/${encodeURIComponent(projectNumber)}`);
16
- return data.Project;
17
- }
18
- export async function createProject(params) {
19
- const data = await fortnoxRequest('projects', {
20
- method: 'POST',
21
- body: { Project: params },
22
- });
23
- return data.Project;
24
- }
25
- export async function updateProject(projectNumber, fields) {
26
- const { ProjectNumber: _, ...body } = fields;
27
- const data = await fortnoxRequest(`projects/${encodeURIComponent(projectNumber)}`, {
28
- method: 'PUT',
29
- body: { Project: body },
30
- });
31
- return data.Project;
15
+ async function getProject(projectNumber) {
16
+ const data = await transport.request(`projects/${encodeURIComponent(projectNumber)}`);
17
+ return data.Project;
18
+ }
19
+ async function createProject(params) {
20
+ const data = await transport.request('projects', {
21
+ method: 'POST',
22
+ body: { Project: params },
23
+ });
24
+ return data.Project;
25
+ }
26
+ async function updateProject(projectNumber, fields) {
27
+ const { ProjectNumber: _, ...body } = fields;
28
+ const data = await transport.request(`projects/${encodeURIComponent(projectNumber)}`, {
29
+ method: 'PUT',
30
+ body: { Project: body },
31
+ });
32
+ return data.Project;
33
+ }
34
+ return { listProjects, getProject, createProject, updateProject };
32
35
  }
36
+ export const { listProjects, getProject, createProject, updateProject } = createProjectOperations(defaultFortnoxTransport);
33
37
  //# sourceMappingURL=projects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/operations/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiBrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAA6B,EAAE;IAChE,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CACnD,UAAU,EACV,UAAU,CACX,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAmB,UAAU,EAAE;QAClD,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,UAAU,CAAC,aAAqB;IACpD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAChD,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAkB,UAAU,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC1B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB,EACrB,MAA+B;IAE/B,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC/C;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACxB,CACF,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/operations/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAiBtF,MAAM,UAAU,uBAAuB,CAAC,SAA2B;IACjE,KAAK,UAAU,YAAY,CAAC,SAA6B,EAAE;QACzD,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,UAAU,EACV,UAAU,CACX,CAAC;YACF,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAmB,UAAU,EAAE;YACrD,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,UAAU,CAAC,aAAqB;QAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAChD,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAA+B;QAC1D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAkB,UAAU,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,aAAqB,EACrB,MAA+B;QAE/B,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC/C;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACxB,CACF,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,GACrE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type FortnoxTransport } from '../fortnox-client.js';
1
2
  export type Recurring = Record<string, unknown>;
2
3
  export type InvoiceRequest = Record<string, unknown>;
3
4
  export interface RecurringWithMetadata {
@@ -15,14 +16,17 @@ export interface ListRecurringsParams {
15
16
  sortBy?: string;
16
17
  order?: 'ASC' | 'DESC';
17
18
  }
18
- export declare function listRecurrings(params?: ListRecurringsParams): Promise<Recurring[]>;
19
- export declare function getRecurring(recurringId: string): Promise<RecurringWithMetadata>;
20
- export declare function createRecurring(input: Recurring): Promise<RecurringWithMetadata>;
21
- export declare function replaceRecurring(recurringId: string, etag: string, input: Recurring, ifUnmodifiedSince?: string): Promise<RecurringWithMetadata>;
22
- export declare function patchRecurring(recurringId: string, etag: string, operations: Record<string, unknown>[], ifUnmodifiedSince?: string): Promise<RecurringWithMetadata>;
23
- export declare function listRecurringDeviations(recurringId: string): Promise<Recurring[]>;
24
- export declare function getRecurringDeviation(recurringId: string, deviationId: string): Promise<Recurring>;
25
- export declare function listInvoiceRequests(recurringIds: string[], statuses?: string[]): Promise<InvoiceRequest[]>;
26
- export declare function getInvoiceRequest(invoiceRequestId: string): Promise<InvoiceRequest>;
27
- export declare function createInvoiceRequest(recurringIds: string[], processingMode?: 'SYNC' | 'ASYNC'): Promise<InvoiceRequest>;
19
+ export declare function createRecurringOperations(transport: FortnoxTransport): {
20
+ listRecurrings: (params?: ListRecurringsParams) => Promise<Recurring[]>;
21
+ getRecurring: (recurringId: string) => Promise<RecurringWithMetadata>;
22
+ createRecurring: (input: Recurring) => Promise<RecurringWithMetadata>;
23
+ replaceRecurring: (recurringId: string, etag: string, input: Recurring, ifUnmodifiedSince?: string) => Promise<RecurringWithMetadata>;
24
+ patchRecurring: (recurringId: string, etag: string, operations: Record<string, unknown>[], ifUnmodifiedSince?: string) => Promise<RecurringWithMetadata>;
25
+ listRecurringDeviations: (recurringId: string) => Promise<Recurring[]>;
26
+ getRecurringDeviation: (recurringId: string, deviationId: string) => Promise<Recurring>;
27
+ listInvoiceRequests: (recurringIds: string[], statuses?: string[]) => Promise<InvoiceRequest[]>;
28
+ getInvoiceRequest: (invoiceRequestId: string) => Promise<InvoiceRequest>;
29
+ createInvoiceRequest: (recurringIds: string[], processingMode?: "SYNC" | "ASYNC") => Promise<InvoiceRequest>;
30
+ };
31
+ export declare const listRecurrings: (params?: ListRecurringsParams) => Promise<Recurring[]>, getRecurring: (recurringId: string) => Promise<RecurringWithMetadata>, createRecurring: (input: Recurring) => Promise<RecurringWithMetadata>, replaceRecurring: (recurringId: string, etag: string, input: Recurring, ifUnmodifiedSince?: string) => Promise<RecurringWithMetadata>, patchRecurring: (recurringId: string, etag: string, operations: Record<string, unknown>[], ifUnmodifiedSince?: string) => Promise<RecurringWithMetadata>, listRecurringDeviations: (recurringId: string) => Promise<Recurring[]>, getRecurringDeviation: (recurringId: string, deviationId: string) => Promise<Recurring>, listInvoiceRequests: (recurringIds: string[], statuses?: string[]) => Promise<InvoiceRequest[]>, getInvoiceRequest: (invoiceRequestId: string) => Promise<InvoiceRequest>, createInvoiceRequest: (recurringIds: string[], processingMode?: "SYNC" | "ASYNC") => Promise<InvoiceRequest>;
28
32
  //# sourceMappingURL=recurrings.d.ts.map