noxctl 0.8.0 → 0.10.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 (207) hide show
  1. package/README.md +70 -3
  2. package/dist/api-coverage.d.ts +48 -0
  3. package/dist/api-coverage.d.ts.map +1 -0
  4. package/dist/api-coverage.js +175 -0
  5. package/dist/api-coverage.js.map +1 -0
  6. package/dist/auth.d.ts +1 -0
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +7 -0
  9. package/dist/auth.js.map +1 -1
  10. package/dist/cli-validators.d.ts +3 -0
  11. package/dist/cli-validators.d.ts.map +1 -0
  12. package/dist/cli-validators.js +10 -0
  13. package/dist/cli-validators.js.map +1 -0
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +1114 -18
  16. package/dist/cli.js.map +1 -1
  17. package/dist/fortnox-client.d.ts +6 -0
  18. package/dist/fortnox-client.d.ts.map +1 -1
  19. package/dist/fortnox-client.js +36 -1
  20. package/dist/fortnox-client.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +8 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/operations/absencetransactions.d.ts +3 -1
  25. package/dist/operations/absencetransactions.d.ts.map +1 -1
  26. package/dist/operations/absencetransactions.js +11 -1
  27. package/dist/operations/absencetransactions.js.map +1 -1
  28. package/dist/operations/accounts.d.ts +5 -1
  29. package/dist/operations/accounts.d.ts.map +1 -1
  30. package/dist/operations/accounts.js +24 -2
  31. package/dist/operations/accounts.js.map +1 -1
  32. package/dist/operations/accruals.d.ts +65 -0
  33. package/dist/operations/accruals.d.ts.map +1 -0
  34. package/dist/operations/accruals.js +81 -0
  35. package/dist/operations/accruals.js.map +1 -0
  36. package/dist/operations/articles.d.ts +2 -1
  37. package/dist/operations/articles.d.ts.map +1 -1
  38. package/dist/operations/articles.js +7 -2
  39. package/dist/operations/articles.js.map +1 -1
  40. package/dist/operations/attendancetransactions.d.ts +3 -1
  41. package/dist/operations/attendancetransactions.d.ts.map +1 -1
  42. package/dist/operations/attendancetransactions.js +11 -1
  43. package/dist/operations/attendancetransactions.js.map +1 -1
  44. package/dist/operations/customers.d.ts +2 -1
  45. package/dist/operations/customers.d.ts.map +1 -1
  46. package/dist/operations/customers.js +7 -2
  47. package/dist/operations/customers.js.map +1 -1
  48. package/dist/operations/files.d.ts +85 -0
  49. package/dist/operations/files.d.ts.map +1 -0
  50. package/dist/operations/files.js +88 -0
  51. package/dist/operations/files.js.map +1 -0
  52. package/dist/operations/financial-years.d.ts +2 -1
  53. package/dist/operations/financial-years.d.ts.map +1 -1
  54. package/dist/operations/financial-years.js +9 -2
  55. package/dist/operations/financial-years.js.map +1 -1
  56. package/dist/operations/general-ledger.d.ts +24 -0
  57. package/dist/operations/general-ledger.d.ts.map +1 -0
  58. package/dist/operations/general-ledger.js +66 -0
  59. package/dist/operations/general-ledger.js.map +1 -0
  60. package/dist/operations/index.d.ts +386 -0
  61. package/dist/operations/index.d.ts.map +1 -1
  62. package/dist/operations/index.js +8 -0
  63. package/dist/operations/index.js.map +1 -1
  64. package/dist/operations/invoice-payments.d.ts +2 -1
  65. package/dist/operations/invoice-payments.d.ts.map +1 -1
  66. package/dist/operations/invoice-payments.js +6 -1
  67. package/dist/operations/invoice-payments.js.map +1 -1
  68. package/dist/operations/invoices.d.ts +32 -1
  69. package/dist/operations/invoices.d.ts.map +1 -1
  70. package/dist/operations/invoices.js +140 -1
  71. package/dist/operations/invoices.js.map +1 -1
  72. package/dist/operations/offers.d.ts +5 -1
  73. package/dist/operations/offers.d.ts.map +1 -1
  74. package/dist/operations/offers.js +19 -1
  75. package/dist/operations/offers.js.map +1 -1
  76. package/dist/operations/orders.d.ts +5 -1
  77. package/dist/operations/orders.d.ts.map +1 -1
  78. package/dist/operations/orders.js +26 -2
  79. package/dist/operations/orders.js.map +1 -1
  80. package/dist/operations/pricelists.d.ts +4 -2
  81. package/dist/operations/pricelists.d.ts.map +1 -1
  82. package/dist/operations/pricelists.js +23 -9
  83. package/dist/operations/pricelists.js.map +1 -1
  84. package/dist/operations/projects.d.ts +2 -1
  85. package/dist/operations/projects.d.ts.map +1 -1
  86. package/dist/operations/projects.js +5 -2
  87. package/dist/operations/projects.js.map +1 -1
  88. package/dist/operations/reference-data.d.ts +243 -0
  89. package/dist/operations/reference-data.d.ts.map +1 -0
  90. package/dist/operations/reference-data.js +113 -0
  91. package/dist/operations/reference-data.js.map +1 -0
  92. package/dist/operations/salarytransactions.d.ts +2 -1
  93. package/dist/operations/salarytransactions.d.ts.map +1 -1
  94. package/dist/operations/salarytransactions.js +6 -1
  95. package/dist/operations/salarytransactions.js.map +1 -1
  96. package/dist/operations/supplier-invoice-payments.d.ts +3 -1
  97. package/dist/operations/supplier-invoice-payments.d.ts.map +1 -1
  98. package/dist/operations/supplier-invoice-payments.js +11 -1
  99. package/dist/operations/supplier-invoice-payments.js.map +1 -1
  100. package/dist/operations/supplier-invoices.d.ts +21 -1
  101. package/dist/operations/supplier-invoices.d.ts.map +1 -1
  102. package/dist/operations/supplier-invoices.js +68 -1
  103. package/dist/operations/supplier-invoices.js.map +1 -1
  104. package/dist/operations/taxreductions.d.ts +3 -1
  105. package/dist/operations/taxreductions.d.ts.map +1 -1
  106. package/dist/operations/taxreductions.js +18 -2
  107. package/dist/operations/taxreductions.js.map +1 -1
  108. package/dist/operations/vouchers.d.ts +18 -1
  109. package/dist/operations/vouchers.d.ts.map +1 -1
  110. package/dist/operations/vouchers.js +49 -1
  111. package/dist/operations/vouchers.js.map +1 -1
  112. package/dist/safe-file-output.d.ts +4 -0
  113. package/dist/safe-file-output.d.ts.map +1 -0
  114. package/dist/safe-file-output.js +48 -0
  115. package/dist/safe-file-output.js.map +1 -0
  116. package/dist/schema-audit-mappings.d.ts +6 -5
  117. package/dist/schema-audit-mappings.d.ts.map +1 -1
  118. package/dist/schema-audit-mappings.js +159 -10
  119. package/dist/schema-audit-mappings.js.map +1 -1
  120. package/dist/schema-audit.d.ts +30 -1
  121. package/dist/schema-audit.d.ts.map +1 -1
  122. package/dist/schema-audit.js +288 -14
  123. package/dist/schema-audit.js.map +1 -1
  124. package/dist/scope-probes.d.ts.map +1 -1
  125. package/dist/scope-probes.js +1 -0
  126. package/dist/scope-probes.js.map +1 -1
  127. package/dist/sie.d.ts +51 -0
  128. package/dist/sie.d.ts.map +1 -0
  129. package/dist/sie.js +355 -0
  130. package/dist/sie.js.map +1 -0
  131. package/dist/tools/absencetransactions.d.ts.map +1 -1
  132. package/dist/tools/absencetransactions.js +30 -3
  133. package/dist/tools/absencetransactions.js.map +1 -1
  134. package/dist/tools/accruals.d.ts +18 -0
  135. package/dist/tools/accruals.d.ts.map +1 -0
  136. package/dist/tools/accruals.js +169 -0
  137. package/dist/tools/accruals.js.map +1 -0
  138. package/dist/tools/articles.d.ts.map +1 -1
  139. package/dist/tools/articles.js +17 -2
  140. package/dist/tools/articles.js.map +1 -1
  141. package/dist/tools/attendancetransactions.d.ts.map +1 -1
  142. package/dist/tools/attendancetransactions.js +30 -3
  143. package/dist/tools/attendancetransactions.js.map +1 -1
  144. package/dist/tools/bookkeeping.d.ts.map +1 -1
  145. package/dist/tools/bookkeeping.js +121 -2
  146. package/dist/tools/bookkeeping.js.map +1 -1
  147. package/dist/tools/contracts.js +1 -1
  148. package/dist/tools/contracts.js.map +1 -1
  149. package/dist/tools/customers.d.ts.map +1 -1
  150. package/dist/tools/customers.js +111 -20
  151. package/dist/tools/customers.js.map +1 -1
  152. package/dist/tools/files.d.ts +4 -0
  153. package/dist/tools/files.d.ts.map +1 -0
  154. package/dist/tools/files.js +120 -0
  155. package/dist/tools/files.js.map +1 -0
  156. package/dist/tools/financial-years.d.ts.map +1 -1
  157. package/dist/tools/financial-years.js +18 -2
  158. package/dist/tools/financial-years.js.map +1 -1
  159. package/dist/tools/general-ledger.d.ts +4 -0
  160. package/dist/tools/general-ledger.d.ts.map +1 -0
  161. package/dist/tools/general-ledger.js +61 -0
  162. package/dist/tools/general-ledger.js.map +1 -0
  163. package/dist/tools/invoice-payments.d.ts.map +1 -1
  164. package/dist/tools/invoice-payments.js +34 -1
  165. package/dist/tools/invoice-payments.js.map +1 -1
  166. package/dist/tools/invoices.d.ts.map +1 -1
  167. package/dist/tools/invoices.js +187 -57
  168. package/dist/tools/invoices.js.map +1 -1
  169. package/dist/tools/offers.d.ts.map +1 -1
  170. package/dist/tools/offers.js +68 -1
  171. package/dist/tools/offers.js.map +1 -1
  172. package/dist/tools/orders.d.ts.map +1 -1
  173. package/dist/tools/orders.js +68 -1
  174. package/dist/tools/orders.js.map +1 -1
  175. package/dist/tools/pricelists.d.ts.map +1 -1
  176. package/dist/tools/pricelists.js +35 -3
  177. package/dist/tools/pricelists.js.map +1 -1
  178. package/dist/tools/projects.d.ts.map +1 -1
  179. package/dist/tools/projects.js +14 -2
  180. package/dist/tools/projects.js.map +1 -1
  181. package/dist/tools/recurrings.js +1 -1
  182. package/dist/tools/recurrings.js.map +1 -1
  183. package/dist/tools/reference-data.d.ts +17 -0
  184. package/dist/tools/reference-data.d.ts.map +1 -0
  185. package/dist/tools/reference-data.js +124 -0
  186. package/dist/tools/reference-data.js.map +1 -0
  187. package/dist/tools/salarytransactions.d.ts.map +1 -1
  188. package/dist/tools/salarytransactions.js +27 -1
  189. package/dist/tools/salarytransactions.js.map +1 -1
  190. package/dist/tools/supplier-invoice-payments.d.ts.map +1 -1
  191. package/dist/tools/supplier-invoice-payments.js +34 -1
  192. package/dist/tools/supplier-invoice-payments.js.map +1 -1
  193. package/dist/tools/supplier-invoices.d.ts.map +1 -1
  194. package/dist/tools/supplier-invoices.js +147 -5
  195. package/dist/tools/supplier-invoices.js.map +1 -1
  196. package/dist/tools/taxreductions.d.ts.map +1 -1
  197. package/dist/tools/taxreductions.js +33 -2
  198. package/dist/tools/taxreductions.js.map +1 -1
  199. package/dist/version.d.ts +1 -1
  200. package/dist/version.d.ts.map +1 -1
  201. package/dist/version.js +1 -1
  202. package/dist/version.js.map +1 -1
  203. package/dist/views.d.ts +5 -0
  204. package/dist/views.d.ts.map +1 -1
  205. package/dist/views.js +40 -1
  206. package/dist/views.js.map +1 -1
  207. package/package.json +8 -5
@@ -16,11 +16,31 @@ export interface ListSupplierInvoicesParams {
16
16
  limit?: number;
17
17
  all?: boolean;
18
18
  }
19
+ export interface SupplierInvoiceAttachment {
20
+ fileName: string;
21
+ fileId: string;
22
+ supplierInvoiceNumber: string;
23
+ }
24
+ export interface SupplierInvoiceFileContent {
25
+ fileId: string;
26
+ contentType: string;
27
+ buffer: Buffer;
28
+ }
19
29
  export declare function createSupplierInvoiceOperations(transport: FortnoxTransport): {
20
30
  listSupplierInvoices: (params?: ListSupplierInvoicesParams) => Promise<SupplierInvoicesResponse>;
21
31
  getSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
22
32
  createSupplierInvoice: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
33
+ updateSupplierInvoice: (givenNumber: string, params: Record<string, unknown>) => Promise<Record<string, unknown>>;
23
34
  bookkeepSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
35
+ approvalBookkeepSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
36
+ approvalPaymentSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
37
+ cancelSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
38
+ creditSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
39
+ listSupplierInvoiceAttachments: (givenNumber: string) => Promise<SupplierInvoiceAttachment[]>;
40
+ getSupplierInvoiceFileConnection: (fileId: string) => Promise<Record<string, unknown>>;
41
+ createSupplierInvoiceFileConnection: (givenNumber: string, fileId: string) => Promise<Record<string, unknown>>;
42
+ deleteSupplierInvoiceFileConnection: (fileId: string) => Promise<void>;
43
+ getSupplierInvoiceFile: (fileId: string) => Promise<SupplierInvoiceFileContent>;
24
44
  };
25
- export declare const listSupplierInvoices: (params?: ListSupplierInvoicesParams) => Promise<SupplierInvoicesResponse>, getSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, createSupplierInvoice: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, bookkeepSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>;
45
+ export declare const listSupplierInvoices: (params?: ListSupplierInvoicesParams) => Promise<SupplierInvoicesResponse>, getSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, createSupplierInvoice: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateSupplierInvoice: (givenNumber: string, params: Record<string, unknown>) => Promise<Record<string, unknown>>, bookkeepSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, approvalBookkeepSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, approvalPaymentSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, cancelSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, creditSupplierInvoice: (givenNumber: string) => Promise<Record<string, unknown>>, listSupplierInvoiceAttachments: (givenNumber: string) => Promise<SupplierInvoiceAttachment[]>, getSupplierInvoiceFileConnection: (fileId: string) => Promise<Record<string, unknown>>, createSupplierInvoiceFileConnection: (givenNumber: string, fileId: string) => Promise<Record<string, unknown>>, deleteSupplierInvoiceFileConnection: (fileId: string) => Promise<void>, getSupplierInvoiceFile: (fileId: string) => Promise<SupplierInvoiceFileContent>;
26
46
  //# sourceMappingURL=supplier-invoices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supplier-invoices.d.ts","sourceRoot":"","sources":["../../src/operations/supplier-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5C,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,0BAA0B;IACzC,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,+BAA+B,CAAC,SAAS,EAAE,gBAAgB;oCAE/D,0BAA0B,KACjC,OAAO,CAAC,wBAAwB,CAAC;sCA0BW,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oCAQ9E,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;2CAQiB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAc9F;AAED,eAAO,MACL,oBAAoB,YA7DV,0BAA0B,KACjC,OAAO,CAAC,wBAAwB,CAAC,EA6DpC,kBAAkB,gBAnC6B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAoCxF,qBAAqB,WA5BX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA4BnC,uBAAuB,gBApB6B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBlC,CAAC"}
1
+ {"version":3,"file":"supplier-invoices.d.ts","sourceRoot":"","sources":["../../src/operations/supplier-invoices.ts"],"names":[],"mappings":"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"}
@@ -30,16 +30,83 @@ export function createSupplierInvoiceOperations(transport) {
30
30
  });
31
31
  return data.SupplierInvoice;
32
32
  }
33
+ async function updateSupplierInvoice(givenNumber, params) {
34
+ const data = await transport.request(`supplierinvoices/${encodeURIComponent(givenNumber)}`, { method: 'PUT', body: { SupplierInvoice: params } });
35
+ return data.SupplierInvoice;
36
+ }
37
+ async function runSupplierInvoiceAction(givenNumber, action) {
38
+ const data = await transport.request(`supplierinvoices/${encodeURIComponent(givenNumber)}/${action}`, { method: 'PUT' });
39
+ return data.SupplierInvoice;
40
+ }
41
+ const approvalBookkeepSupplierInvoice = (givenNumber) => runSupplierInvoiceAction(givenNumber, 'approvalbookkeep');
42
+ const approvalPaymentSupplierInvoice = (givenNumber) => runSupplierInvoiceAction(givenNumber, 'approvalpayment');
43
+ const cancelSupplierInvoice = (givenNumber) => runSupplierInvoiceAction(givenNumber, 'cancel');
44
+ const creditSupplierInvoice = (givenNumber) => runSupplierInvoiceAction(givenNumber, 'credit');
33
45
  async function bookkeepSupplierInvoice(givenNumber) {
34
46
  const data = await transport.request(`supplierinvoices/${encodeURIComponent(givenNumber)}/bookkeep`, { method: 'PUT' });
35
47
  return data.SupplierInvoice;
36
48
  }
49
+ async function getSupplierInvoiceFileConnection(fileId) {
50
+ const data = await transport.request(`supplierinvoicefileconnections/${encodeURIComponent(fileId)}`);
51
+ return data.SupplierInvoiceFileConnection;
52
+ }
53
+ async function createSupplierInvoiceFileConnection(givenNumber, fileId) {
54
+ const data = await transport.request('supplierinvoicefileconnections', {
55
+ method: 'POST',
56
+ body: {
57
+ SupplierInvoiceFileConnection: {
58
+ SupplierInvoiceNumber: givenNumber,
59
+ FileId: fileId,
60
+ },
61
+ },
62
+ });
63
+ return data.SupplierInvoiceFileConnection;
64
+ }
65
+ async function deleteSupplierInvoiceFileConnection(fileId) {
66
+ await transport.request(`supplierinvoicefileconnections/${encodeURIComponent(fileId)}`, {
67
+ method: 'DELETE',
68
+ });
69
+ }
70
+ // List the files attached to a supplier invoice — the read counterpart that
71
+ // was missing: vouchers and customer invoices both had a read path, but a
72
+ // supplier invoice's original document (the scanned/emailed invoice itself)
73
+ // was only reachable once the invoice was bookkept into a voucher. This
74
+ // reaches it directly, so it works for `unbooked`/`authorizepending`
75
+ // invoices too — server-side filtered by `supplierinvoicenumber`, unlike
76
+ // voucherfileconnections which has no matching filter for vouchers.
77
+ async function listSupplierInvoiceAttachments(givenNumber) {
78
+ const data = await transport.request('supplierinvoicefileconnections', { params: { supplierinvoicenumber: givenNumber } });
79
+ return (data.SupplierInvoiceFileConnections ?? []).map((c) => ({
80
+ fileName: String(c.Name ?? ''),
81
+ fileId: String(c.FileId),
82
+ supplierInvoiceNumber: String(c.SupplierInvoiceNumber ?? givenNumber),
83
+ }));
84
+ }
85
+ // Download the actual bytes of a file attached to a supplier invoice.
86
+ // Fortnox serves it the same way as a voucher attachment — GET inbox/{fileId}
87
+ // under the connectfile scope — no archive scope needed (that's only for
88
+ // customer invoices, which have no *invoicefileconnections* resource; see the
89
+ // ARCHIVE_SCOPE comment in auth.ts).
90
+ async function getSupplierInvoiceFile(fileId) {
91
+ const { buffer, contentType } = await transport.requestFile(`inbox/${encodeURIComponent(fileId)}`);
92
+ return { fileId, contentType, buffer };
93
+ }
37
94
  return {
38
95
  listSupplierInvoices,
39
96
  getSupplierInvoice,
40
97
  createSupplierInvoice,
98
+ updateSupplierInvoice,
41
99
  bookkeepSupplierInvoice,
100
+ approvalBookkeepSupplierInvoice,
101
+ approvalPaymentSupplierInvoice,
102
+ cancelSupplierInvoice,
103
+ creditSupplierInvoice,
104
+ listSupplierInvoiceAttachments,
105
+ getSupplierInvoiceFileConnection,
106
+ createSupplierInvoiceFileConnection,
107
+ deleteSupplierInvoiceFileConnection,
108
+ getSupplierInvoiceFile,
42
109
  };
43
110
  }
44
- export const { listSupplierInvoices, getSupplierInvoice, createSupplierInvoice, bookkeepSupplierInvoice, } = createSupplierInvoiceOperations(defaultFortnoxTransport);
111
+ export const { listSupplierInvoices, getSupplierInvoice, createSupplierInvoice, updateSupplierInvoice, bookkeepSupplierInvoice, approvalBookkeepSupplierInvoice, approvalPaymentSupplierInvoice, cancelSupplierInvoice, creditSupplierInvoice, listSupplierInvoiceAttachments, getSupplierInvoiceFileConnection, createSupplierInvoiceFileConnection, deleteSupplierInvoiceFileConnection, getSupplierInvoiceFile, } = createSupplierInvoiceOperations(defaultFortnoxTransport);
45
112
  //# sourceMappingURL=supplier-invoices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supplier-invoices.js","sourceRoot":"","sources":["../../src/operations/supplier-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAqBtF,MAAM,UAAU,+BAA+B,CAAC,SAA2B;IACzE,KAAK,UAAU,oBAAoB,CACjC,SAAqC,EAAE;QAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,mBAAmB,OAAO,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAgD;YAC/D,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,QAAQ,EACR,kBAAkB,EAClB,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAA2B,QAAQ,EAAE;YAC3D,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,kBAAkB,CAAC,WAAmB;QACnD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACtD,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAA0B,kBAAkB,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;SAClC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,uBAAuB,CAAC,WAAmB;QACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,oBAAoB;QACpB,kBAAkB;QAClB,qBAAqB;QACrB,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,GAAG,+BAA+B,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"supplier-invoices.js","sourceRoot":"","sources":["../../src/operations/supplier-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAiCtF,MAAM,UAAU,+BAA+B,CAAC,SAA2B;IACzE,KAAK,UAAU,oBAAoB,CACjC,SAAqC,EAAE;QAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,mBAAmB,OAAO,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAgD;YAC/D,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,QAAQ,EACR,kBAAkB,EAClB,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAA2B,QAAQ,EAAE;YAC3D,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,kBAAkB,CAAC,WAAmB;QACnD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACtD,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAA0B,kBAAkB,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;SAClC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,EAAE,EACrD,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,wBAAwB,CACrC,WAAmB,EACnB,MAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE,EAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,MAAM,+BAA+B,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC9D,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,8BAA8B,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC7D,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACpD,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACpD,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAElD,KAAK,UAAU,uBAAuB,CAAC,WAAmB;QACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IASD,KAAK,UAAU,gCAAgC,CAC7C,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,kCAAkC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAC/D,CAAC;QACF,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IAED,KAAK,UAAU,mCAAmC,CAChD,WAAmB,EACnB,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,gCAAgC,EAChC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,6BAA6B,EAAE;oBAC7B,qBAAqB,EAAE,WAAW;oBAClC,MAAM,EAAE,MAAM;iBACf;aACF;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IAED,KAAK,UAAU,mCAAmC,CAAC,MAAc;QAC/D,MAAM,SAAS,CAAC,OAAO,CAAC,kCAAkC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YACtF,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,qEAAqE;IACrE,yEAAyE;IACzE,oEAAoE;IACpE,KAAK,UAAU,8BAA8B,CAC3C,WAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,gCAAgC,EAChC,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,WAAW,EAAE,EAAE,CACnD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACxB,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,IAAI,WAAW,CAAC;SACtE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sEAAsE;IACtE,8EAA8E;IAC9E,yEAAyE;IACzE,8EAA8E;IAC9E,qCAAqC;IACrC,KAAK,UAAU,sBAAsB,CAAC,MAAc;QAClD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,CACzD,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACtC,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,OAAO;QACL,oBAAoB;QACpB,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,+BAA+B;QAC/B,8BAA8B;QAC9B,qBAAqB;QACrB,qBAAqB;QACrB,8BAA8B;QAC9B,gCAAgC;QAChC,mCAAmC;QACnC,mCAAmC;QACnC,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,sBAAsB,GACvB,GAAG,+BAA+B,CAAC,uBAAuB,CAAC,CAAC"}
@@ -17,6 +17,8 @@ export declare function createTaxReductionOperations(transport: FortnoxTransport
17
17
  listTaxReductions: (params?: ListTaxReductionsParams) => Promise<TaxReductionsResponse>;
18
18
  getTaxReduction: (id: number) => Promise<Record<string, unknown>>;
19
19
  createTaxReduction: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
20
+ updateTaxReduction: (id: number, params: Record<string, unknown>) => Promise<Record<string, unknown>>;
21
+ deleteTaxReduction: (id: number) => Promise<void>;
20
22
  };
21
- export declare const listTaxReductions: (params?: ListTaxReductionsParams) => Promise<TaxReductionsResponse>, getTaxReduction: (id: number) => Promise<Record<string, unknown>>, createTaxReduction: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
23
+ export declare const listTaxReductions: (params?: ListTaxReductionsParams) => Promise<TaxReductionsResponse>, getTaxReduction: (id: number) => Promise<Record<string, unknown>>, createTaxReduction: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, updateTaxReduction: (id: number, params: Record<string, unknown>) => Promise<Record<string, unknown>>, deleteTaxReduction: (id: number) => Promise<void>;
22
24
  //# sourceMappingURL=taxreductions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"taxreductions.d.ts","sourceRoot":"","sources":["../../src/operations/taxreductions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,uBAAuB;IACtC,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,4BAA4B,CAAC,SAAS,EAAE,gBAAgB;iCAE5D,uBAAuB,KAC9B,OAAO,CAAC,qBAAqB,CAAC;0BAsBE,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAMlE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EASpC;AAED,eAAO,MAAQ,iBAAiB,YAzCpB,uBAAuB,KAC9B,OAAO,CAAC,qBAAqB,CAAC,EAwCD,eAAe,OAlBZ,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAkB3B,kBAAkB,WAZzD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYmB,CAAC"}
1
+ {"version":3,"file":"taxreductions.d.ts","sourceRoot":"","sources":["../../src/operations/taxreductions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMtF,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,uBAAuB;IACtC,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,4BAA4B,CAAC,SAAS,EAAE,gBAAgB;iCAE5D,uBAAuB,KAC9B,OAAO,CAAC,qBAAqB,CAAC;0BAsBE,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAMlE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAS7B,MAAM,UACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;6BAQG,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;EAW7D;AAED,eAAO,MACL,iBAAiB,YA/DP,uBAAuB,KAC9B,OAAO,CAAC,qBAAqB,CAAC,EA+DjC,eAAe,OAzCoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0C5E,kBAAkB,WApCR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAoCnC,kBAAkB,OA3BZ,MAAM,UACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA0BnC,kBAAkB,OAlBoB,MAAM,KAAG,OAAO,CAAC,IAAI,CAmBJ,CAAC"}
@@ -26,7 +26,23 @@ export function createTaxReductionOperations(transport) {
26
26
  });
27
27
  return data.TaxReduction;
28
28
  }
29
- return { listTaxReductions, getTaxReduction, createTaxReduction };
29
+ async function updateTaxReduction(id, params) {
30
+ const data = await transport.request(`taxreductions/${id}`, {
31
+ method: 'PUT',
32
+ body: { TaxReduction: params },
33
+ });
34
+ return data.TaxReduction;
35
+ }
36
+ async function deleteTaxReduction(id) {
37
+ await transport.request(`taxreductions/${id}`, { method: 'DELETE' });
38
+ }
39
+ return {
40
+ listTaxReductions,
41
+ getTaxReduction,
42
+ createTaxReduction,
43
+ updateTaxReduction,
44
+ deleteTaxReduction,
45
+ };
30
46
  }
31
- export const { listTaxReductions, getTaxReduction, createTaxReduction } = createTaxReductionOperations(defaultFortnoxTransport);
47
+ export const { listTaxReductions, getTaxReduction, createTaxReduction, updateTaxReduction, deleteTaxReduction, } = createTaxReductionOperations(defaultFortnoxTransport);
32
48
  //# sourceMappingURL=taxreductions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taxreductions.js","sourceRoot":"","sources":["../../src/operations/taxreductions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAkBtF,MAAM,UAAU,4BAA4B,CAAC,SAA2B;IACtE,KAAK,UAAU,iBAAiB,CAC9B,SAAkC,EAAE;QAEpC,MAAM,WAAW,GAAgD;YAC/D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,eAAe,EACf,eAAe,EACf,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAwB,eAAe,EAAE;YAC/D,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,eAAe,CAAC,EAAU;QACvC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAuB,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAuB,eAAe,EAAE;YAC1E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,GACrE,4BAA4B,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"taxreductions.js","sourceRoot":"","sources":["../../src/operations/taxreductions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAkBtF,MAAM,UAAU,4BAA4B,CAAC,SAA2B;IACtE,KAAK,UAAU,iBAAiB,CAC9B,SAAkC,EAAE;QAEpC,MAAM,WAAW,GAAgD;YAC/D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAC7D,eAAe,EACf,eAAe,EACf,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,eAAe,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAwB,eAAe,EAAE;YAC/D,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,eAAe,CAAC,EAAU;QACvC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAuB,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAuB,eAAe,EAAE;YAC1E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,EAAU,EACV,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAuB,iBAAiB,EAAE,EAAE,EAAE;YAChF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,UAAU,kBAAkB,CAAC,EAAU;QAC1C,MAAM,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,GAAG,4BAA4B,CAAC,uBAAuB,CAAC,CAAC"}
@@ -28,13 +28,30 @@ export interface VoucherFileAttachment {
28
28
  voucherYear: number;
29
29
  connection: Record<string, unknown>;
30
30
  }
31
+ export interface VoucherAttachment {
32
+ fileName: string;
33
+ fileId: string;
34
+ voucherSeries: string;
35
+ voucherNumber: string;
36
+ voucherYear?: number;
37
+ }
38
+ export interface VoucherFileContent {
39
+ fileId: string;
40
+ contentType: string;
41
+ buffer: Buffer;
42
+ }
31
43
  export declare function createVoucherOperations(transport: FortnoxTransport): {
32
44
  listVouchers: (params?: ListVouchersParams) => Promise<VouchersResponse>;
33
45
  getVoucher: (series: string, voucherNumber: string, financialYear?: number) => Promise<Record<string, unknown>>;
34
46
  createVoucher: (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
35
47
  uploadInboxFile: (filePath: string) => Promise<Record<string, unknown>>;
36
48
  createVoucherFileConnection: (series: string, voucherNumber: string, fileId: string, financialYear?: number) => Promise<Record<string, unknown>>;
49
+ getVoucherFileConnection: (fileId: string) => Promise<Record<string, unknown>>;
50
+ deleteVoucherFileConnection: (fileId: string) => Promise<void>;
37
51
  attachVoucherFiles: (params: AttachVoucherFilesParams) => Promise<VoucherFileAttachment[]>;
52
+ listVoucherAttachments: (series: string, voucherNumber: string, financialYear?: number) => Promise<VoucherAttachment[]>;
53
+ getVoucherFile: (fileId: string) => Promise<VoucherFileContent>;
54
+ extensionForMime: (contentType: string) => string;
38
55
  };
39
- export declare const listVouchers: (params?: ListVouchersParams) => Promise<VouchersResponse>, getVoucher: (series: string, voucherNumber: string, financialYear?: number) => Promise<Record<string, unknown>>, createVoucher: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, uploadInboxFile: (filePath: string) => Promise<Record<string, unknown>>, createVoucherFileConnection: (series: string, voucherNumber: string, fileId: string, financialYear?: number) => Promise<Record<string, unknown>>, attachVoucherFiles: (params: AttachVoucherFilesParams) => Promise<VoucherFileAttachment[]>;
56
+ export declare const listVouchers: (params?: ListVouchersParams) => Promise<VouchersResponse>, getVoucher: (series: string, voucherNumber: string, financialYear?: number) => Promise<Record<string, unknown>>, createVoucher: (params: Record<string, unknown>) => Promise<Record<string, unknown>>, uploadInboxFile: (filePath: string) => Promise<Record<string, unknown>>, createVoucherFileConnection: (series: string, voucherNumber: string, fileId: string, financialYear?: number) => Promise<Record<string, unknown>>, getVoucherFileConnection: (fileId: string) => Promise<Record<string, unknown>>, deleteVoucherFileConnection: (fileId: string) => Promise<void>, attachVoucherFiles: (params: AttachVoucherFilesParams) => Promise<VoucherFileAttachment[]>, listVoucherAttachments: (series: string, voucherNumber: string, financialYear?: number) => Promise<VoucherAttachment[]>, getVoucherFile: (fileId: string) => Promise<VoucherFileContent>, extensionForMime: (contentType: string) => string;
40
57
  //# sourceMappingURL=vouchers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vouchers.d.ts","sourceRoot":"","sources":["../../src/operations/vouchers.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQtF,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,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,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,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB;4BAG7B,kBAAkB,KAAQ,OAAO,CAAC,gBAAgB,CAAC;yBA2B7E,MAAM,iBACC,MAAM,kBACL,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;4BAUE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gCAwCtD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;0CAgBxE,MAAM,iBACC,MAAM,UACb,MAAM,kBACE,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAwCzB,wBAAwB,KAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC;EAmDpC;AAED,eAAO,MACL,YAAY,YAnMwB,kBAAkB,KAAQ,OAAO,CAAC,gBAAgB,CAAC,EAoMvF,UAAU,WAzKA,MAAM,iBACC,MAAM,kBACL,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAuKnC,aAAa,WA7JwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EA8J/F,eAAe,aAtH0B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAuHlF,2BAA2B,WAvGjB,MAAM,iBACC,MAAM,UACb,MAAM,kBACE,MAAM,KACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAoGnC,kBAAkB,WA5DR,wBAAwB,KAC/B,OAAO,CAAC,qBAAqB,EAAE,CA4DgB,CAAC"}
1
+ {"version":3,"file":"vouchers.d.ts","sourceRoot":"","sources":["../../src/operations/vouchers.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,12 @@ export function createVoucherOperations(transport) {
60
60
  function mimeForFile(filePath) {
61
61
  return MIME_BY_EXT[extname(filePath).toLowerCase()] ?? 'application/octet-stream';
62
62
  }
63
+ // Best-effort reverse of MIME_BY_EXT, for naming a downloaded file when the
64
+ // caller doesn't specify an output path.
65
+ const EXT_BY_MIME = Object.fromEntries(Object.entries(MIME_BY_EXT).map(([ext, mime]) => [mime, ext]));
66
+ function extensionForMime(contentType) {
67
+ return EXT_BY_MIME[contentType] ?? '';
68
+ }
63
69
  // Upload a single file to the Fortnox inbox; returns the archived File object (has .Id).
64
70
  async function uploadInboxFile(filePath) {
65
71
  const buf = readFileSync(filePath);
@@ -89,6 +95,15 @@ export function createVoucherOperations(transport) {
89
95
  });
90
96
  return data.VoucherFileConnection;
91
97
  }
98
+ async function getVoucherFileConnection(fileId) {
99
+ const data = await transport.request(`voucherfileconnections/${encodeURIComponent(fileId)}`);
100
+ return data.VoucherFileConnection;
101
+ }
102
+ async function deleteVoucherFileConnection(fileId) {
103
+ await transport.request(`voucherfileconnections/${encodeURIComponent(fileId)}`, {
104
+ method: 'DELETE',
105
+ });
106
+ }
92
107
  // Resolve the financial year from the voucher's transaction date when not given.
93
108
  // Throws (rather than silently leaving the year undefined) when it can't be
94
109
  // determined, so the user knows to pass --year explicitly — e.g. for a voucher
@@ -140,14 +155,47 @@ export function createVoucherOperations(transport) {
140
155
  }
141
156
  return results;
142
157
  }
158
+ // List the files already attached to a voucher — the read counterpart to
159
+ // attachVoucherFiles. `financialYear` is optional (Fortnox will match across
160
+ // years without it) but recommended: voucher numbers reset every financial
161
+ // year, so series+number alone can be ambiguous.
162
+ async function listVoucherAttachments(series, voucherNumber, financialYear) {
163
+ const data = await transport.request('voucherfileconnections', {
164
+ params: {
165
+ voucherseries: series,
166
+ vouchernumber: voucherNumber,
167
+ voucheryear: financialYear,
168
+ },
169
+ });
170
+ return (data.VoucherFileConnections ?? []).map((c) => ({
171
+ fileName: String(c.Name ?? ''),
172
+ fileId: String(c.FileId),
173
+ voucherSeries: String(c.VoucherSeries ?? series),
174
+ voucherNumber: String(c.VoucherNumber ?? voucherNumber),
175
+ voucherYear: c.VoucherYear !== undefined ? Number(c.VoucherYear) : undefined,
176
+ }));
177
+ }
178
+ // Download the actual bytes of a file attached to a voucher (or sitting in
179
+ // the inbox generally) — the read counterpart to uploadInboxFile. fileId
180
+ // comes from listVoucherAttachments (its `fileId`) or from a prior
181
+ // uploadInboxFile/attachVoucherFiles call.
182
+ async function getVoucherFile(fileId) {
183
+ const { buffer, contentType } = await transport.requestFile(`inbox/${encodeURIComponent(fileId)}`);
184
+ return { fileId, contentType, buffer };
185
+ }
143
186
  return {
144
187
  listVouchers,
145
188
  getVoucher,
146
189
  createVoucher,
147
190
  uploadInboxFile,
148
191
  createVoucherFileConnection,
192
+ getVoucherFileConnection,
193
+ deleteVoucherFileConnection,
149
194
  attachVoucherFiles,
195
+ listVoucherAttachments,
196
+ getVoucherFile,
197
+ extensionForMime,
150
198
  };
151
199
  }
152
- export const { listVouchers, getVoucher, createVoucher, uploadInboxFile, createVoucherFileConnection, attachVoucherFiles, } = createVoucherOperations(defaultFortnoxTransport);
200
+ export const { listVouchers, getVoucher, createVoucher, uploadInboxFile, createVoucherFileConnection, getVoucherFileConnection, deleteVoucherFileConnection, attachVoucherFiles, listVoucherAttachments, getVoucherFile, extensionForMime, } = createVoucherOperations(defaultFortnoxTransport);
153
201
  //# sourceMappingURL=vouchers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vouchers.js","sourceRoot":"","sources":["../../src/operations/vouchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAmCrE,MAAM,UAAU,uBAAuB,CAAC,SAA2B;IACjE,MAAM,EAAE,kBAAkB,EAAE,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAExE,KAAK,UAAU,YAAY,CAAC,SAA6B,EAAE;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,YAAY,OAAO,EAAE,CAAC;QACvC,MAAM,WAAW,GAAgD;YAC/D,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,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,UAAU,EACV,WAAW,CACZ,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,QAAQ,EAAE;YACnD,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,UAAU,CACvB,MAAc,EACd,aAAqB,EACrB,aAAsB;QAEtB,MAAM,MAAM,GAAgD,EAAE,CAAC;QAC/D,IAAI,aAAa;YAAE,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAClC,YAAY,oBAAoB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC/E,EAAE,MAAM,EAAE,CACX,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;gBACJ,OAAO,EAAE;oBACP,GAAG,MAAM;oBACT,aAAa,EAAG,MAAM,CAAC,aAAwB,IAAI,GAAG;iBACvD;aACF;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IASD,MAAM,WAAW,GAA2B;QAC1C,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,iBAAiB;KAC1B,CAAC;IAEF,SAAS,WAAW,CAAC,QAAgB;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;IACpF,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,eAAe,CAAC,QAAgB;QAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAoB,OAAO,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,kBAAkB;IAClB,KAAK,UAAU,2BAA2B,CACxC,MAAc,EACd,aAAqB,EACrB,MAAc,EACd,aAAsB;QAEtB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAgC,wBAAwB,EAAE;YAC5F,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,qBAAqB,EAAE;oBACrB,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,MAAM;oBACrB,aAAa,EAAE,aAAa;iBAC7B;aACF;YACD,MAAM,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,iFAAiF;IACjF,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,KAAK,UAAU,2BAA2B,CACxC,MAAc,EACd,aAAqB;QAErB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,IAAI,GAAI,OAAmC,CAAC,eAAqC,CAAC;QACxF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,mDAAmD,MAAM,IAAI,aAAa,kDAAkD,CAC7H,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAA8B,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,2BAA2B,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,gFAAgF;IAChF,KAAK,UAAU,kBAAkB,CAC/B,MAAgC;QAEhC,2EAA2E;QAC3E,wEAAwE;QACxE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,aAAa;YACpB,CAAC,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAE3E,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC7C,sEAAsE;gBACtE,gEAAgE;gBAChE,MAAM,MAAM,GAAG,MAAM,CAAE,IAAgC,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAClD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,aAAa,EACpB,MAAM,EACN,IAAI,CACL,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,2EAA2E;gBAC3E,6CAA6C;gBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;gBACjE,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,sCAAsC,IAAI,GAAG,CACrJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,YAAY;QACZ,UAAU;QACV,aAAa;QACb,eAAe;QACf,2BAA2B;QAC3B,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,GACnB,GAAG,uBAAuB,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"vouchers.js","sourceRoot":"","sources":["../../src/operations/vouchers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function privateOutputPath(prefix: string, fileName: string): string;
2
+ export declare function safeLocalOutputPath(prefix: string, fileName: string, extension?: string): string;
3
+ export declare function writeBinaryFile(targetPath: string, data: Buffer, overwrite?: boolean): string;
4
+ //# sourceMappingURL=safe-file-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-file-output.d.ts","sourceRoot":"","sources":["../src/safe-file-output.ts"],"names":[],"mappings":"AAWA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAI5F;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,MAAM,CAgC3F"}
@@ -0,0 +1,48 @@
1
+ import { closeSync, constants as fsConstants, lstatSync, mkdtempSync, openSync, writeSync, } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { basename, join, resolve } from 'node:path';
4
+ export function privateOutputPath(prefix, fileName) {
5
+ const directory = mkdtempSync(join(tmpdir(), prefix));
6
+ const candidate = basename(fileName);
7
+ const safeName = !candidate || candidate === '.' || candidate === '..' ? 'download' : candidate;
8
+ return join(directory, safeName);
9
+ }
10
+ export function safeLocalOutputPath(prefix, fileName, extension = '') {
11
+ const candidate = basename(fileName);
12
+ const safeName = !candidate || candidate === '.' || candidate === '..' ? 'download' : candidate;
13
+ return resolve(`${prefix}${safeName}${extension}`);
14
+ }
15
+ export function writeBinaryFile(targetPath, data, overwrite = false) {
16
+ const target = resolve(targetPath);
17
+ const { O_WRONLY, O_CREAT, O_TRUNC, O_EXCL, O_NOFOLLOW } = fsConstants;
18
+ const flags = overwrite
19
+ ? O_WRONLY | O_CREAT | O_TRUNC | (O_NOFOLLOW ?? 0)
20
+ : O_WRONLY | O_CREAT | O_EXCL;
21
+ if (overwrite && !O_NOFOLLOW && lstatSync(target, { throwIfNoEntry: false })?.isSymbolicLink()) {
22
+ throw new Error(`${target} is a symbolic link. Refusing to write through it.`);
23
+ }
24
+ try {
25
+ const descriptor = openSync(target, flags, 0o600);
26
+ try {
27
+ let written = 0;
28
+ while (written < data.length) {
29
+ written += writeSync(descriptor, data, written, data.length - written);
30
+ }
31
+ }
32
+ finally {
33
+ closeSync(descriptor);
34
+ }
35
+ }
36
+ catch (error) {
37
+ const code = error.code;
38
+ if (code === 'EEXIST') {
39
+ throw new Error(`${target} already exists. Choose another path or set overwrite: true.`);
40
+ }
41
+ if (code === 'ELOOP') {
42
+ throw new Error(`${target} is a symbolic link. Refusing to write through it.`);
43
+ }
44
+ throw error;
45
+ }
46
+ return target;
47
+ }
48
+ //# sourceMappingURL=safe-file-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-file-output.js","sourceRoot":"","sources":["../src/safe-file-output.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import type { SchemaAuditMapping } from './schema-audit.js';
1
+ import type { MutationAuditException, SchemaAuditMapping } from './schema-audit.js';
2
2
  /**
3
- * First-wave write-schema coverage mappings.
4
- *
5
- * Component names are already part of the committed opaque API fingerprint. The
6
- * OpenAPI document and its property names remain in the git-ignored local cache.
3
+ * Reviewed structured mutation contracts. Component identifiers are already
4
+ * represented in the committed opaque API fingerprint; property inventories
5
+ * and raw diagnostics remain confined to the ignored local OpenAPI cache.
7
6
  */
8
7
  export declare const SCHEMA_AUDIT_MAPPINGS: readonly SchemaAuditMapping[];
8
+ /** Reviewed non-schema exceptions. Every passthrough names its preservation test. */
9
+ export declare const SCHEMA_AUDIT_EXCEPTIONS: readonly MutationAuditException[];
9
10
  //# sourceMappingURL=schema-audit-mappings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-audit-mappings.d.ts","sourceRoot":"","sources":["../src/schema-audit-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAqC9D,CAAC"}
1
+ {"version":3,"file":"schema-audit-mappings.d.ts","sourceRoot":"","sources":["../src/schema-audit-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AASpF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EA8M9D,CAAC;AAgBF,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,EAAE,SAAS,sBAAsB,EA+LpE,CAAC"}