@epostak/sdk 1.0.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 (50) hide show
  1. package/README.md +632 -0
  2. package/dist/client.d.ts +61 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +67 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +12 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +13 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/resources/account.d.ts +6 -0
  11. package/dist/resources/account.d.ts.map +1 -0
  12. package/dist/resources/account.js +7 -0
  13. package/dist/resources/account.js.map +1 -0
  14. package/dist/resources/documents.d.ts +26 -0
  15. package/dist/resources/documents.d.ts.map +1 -0
  16. package/dist/resources/documents.js +70 -0
  17. package/dist/resources/documents.js.map +1 -0
  18. package/dist/resources/extract.d.ts +11 -0
  19. package/dist/resources/extract.d.ts.map +1 -0
  20. package/dist/resources/extract.js +18 -0
  21. package/dist/resources/extract.js.map +1 -0
  22. package/dist/resources/firms.d.ts +14 -0
  23. package/dist/resources/firms.d.ts.map +1 -0
  24. package/dist/resources/firms.js +27 -0
  25. package/dist/resources/firms.js.map +1 -0
  26. package/dist/resources/peppol.d.ts +14 -0
  27. package/dist/resources/peppol.d.ts.map +1 -0
  28. package/dist/resources/peppol.js +26 -0
  29. package/dist/resources/peppol.js.map +1 -0
  30. package/dist/resources/reporting.d.ts +6 -0
  31. package/dist/resources/reporting.d.ts.map +1 -0
  32. package/dist/resources/reporting.js +10 -0
  33. package/dist/resources/reporting.js.map +1 -0
  34. package/dist/resources/webhooks.d.ts +25 -0
  35. package/dist/resources/webhooks.d.ts.map +1 -0
  36. package/dist/resources/webhooks.js +49 -0
  37. package/dist/resources/webhooks.js.map +1 -0
  38. package/dist/types.d.ts +473 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +5 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/utils/errors.d.ts +13 -0
  43. package/dist/utils/errors.d.ts.map +1 -0
  44. package/dist/utils/errors.js +32 -0
  45. package/dist/utils/errors.js.map +1 -0
  46. package/dist/utils/request.d.ts +28 -0
  47. package/dist/utils/request.d.ts.map +1 -0
  48. package/dist/utils/request.js +79 -0
  49. package/dist/utils/request.js.map +1 -0
  50. package/package.json +38 -0
@@ -0,0 +1,473 @@
1
+ export type InvoiceResponseCode = "AP" | "RE" | "UQ";
2
+ export type WebhookEvent = "document.created" | "document.sent" | "document.received" | "document.validated";
3
+ export type DocumentDirection = "inbound" | "outbound";
4
+ export type ConvertDirection = "json_to_ubl" | "ubl_to_json";
5
+ export type InboxStatus = "RECEIVED" | "ACKNOWLEDGED";
6
+ export interface LineItem {
7
+ description: string;
8
+ quantity: number;
9
+ /** UN/CEFACT unit code, e.g. HUR = hours, C62 = pieces, KGM = kg */
10
+ unit?: string;
11
+ unitPrice: number;
12
+ /** VAT rate in percent, e.g. 23 */
13
+ vatRate: number;
14
+ /** Optional discount in percent */
15
+ discount?: number;
16
+ }
17
+ export interface LineItemResponse {
18
+ description: string;
19
+ quantity: number;
20
+ unit?: string;
21
+ unitPrice: number;
22
+ vatRate: number;
23
+ vatCategory?: string;
24
+ lineTotal: number;
25
+ }
26
+ export interface PartyAddress {
27
+ street?: string;
28
+ city?: string;
29
+ zip?: string;
30
+ country?: string;
31
+ }
32
+ export interface Party {
33
+ name?: string;
34
+ ico?: string;
35
+ dic?: string;
36
+ icDph?: string;
37
+ address?: PartyAddress;
38
+ peppolId?: string;
39
+ }
40
+ export interface SendDocumentJsonRequest {
41
+ receiverPeppolId: string;
42
+ invoiceNumber?: string;
43
+ issueDate?: string;
44
+ dueDate?: string;
45
+ currency?: string;
46
+ note?: string;
47
+ iban?: string;
48
+ paymentMethod?: string;
49
+ variableSymbol?: string;
50
+ buyerReference?: string;
51
+ receiverName?: string;
52
+ receiverIco?: string;
53
+ receiverDic?: string;
54
+ receiverIcDph?: string;
55
+ receiverAddress?: string;
56
+ receiverCountry?: string;
57
+ items: LineItem[];
58
+ }
59
+ export interface SendDocumentXmlRequest {
60
+ receiverPeppolId: string;
61
+ xml: string;
62
+ }
63
+ export type SendDocumentRequest = SendDocumentJsonRequest | SendDocumentXmlRequest;
64
+ export interface SendDocumentResponse {
65
+ documentId: string;
66
+ messageId: string;
67
+ status: "SENT";
68
+ }
69
+ export interface UpdateDocumentRequest {
70
+ invoiceNumber?: string;
71
+ issueDate?: string;
72
+ dueDate?: string | null;
73
+ currency?: string;
74
+ note?: string | null;
75
+ iban?: string | null;
76
+ variableSymbol?: string | null;
77
+ buyerReference?: string | null;
78
+ receiverName?: string;
79
+ receiverIco?: string | null;
80
+ receiverDic?: string | null;
81
+ receiverIcDph?: string | null;
82
+ receiverAddress?: string | null;
83
+ receiverCountry?: string | null;
84
+ receiverPeppolId?: string | null;
85
+ items?: LineItem[];
86
+ }
87
+ export interface DocumentTotals {
88
+ withoutVat: number;
89
+ vat: number;
90
+ withVat: number;
91
+ }
92
+ /** Document as returned by the API (same shape for sent and received). */
93
+ export interface InboxDocument {
94
+ id: string;
95
+ number: string;
96
+ status: string;
97
+ direction: DocumentDirection;
98
+ docType: string;
99
+ issueDate: string;
100
+ dueDate: string | null;
101
+ currency: string;
102
+ supplier: Party;
103
+ customer: Party;
104
+ lines: LineItemResponse[];
105
+ totals: DocumentTotals;
106
+ peppolMessageId: string | null;
107
+ createdAt: string;
108
+ updatedAt: string;
109
+ }
110
+ export interface InboxListParams {
111
+ offset?: number;
112
+ limit?: number;
113
+ status?: InboxStatus;
114
+ /** ISO 8601 timestamp — only return documents created after this date */
115
+ since?: string;
116
+ }
117
+ export interface InboxListResponse {
118
+ documents: InboxDocument[];
119
+ total: number;
120
+ limit: number;
121
+ offset: number;
122
+ }
123
+ export interface InboxDocumentDetailResponse {
124
+ document: InboxDocument;
125
+ /** UBL XML content, null if not available */
126
+ payload: string | null;
127
+ }
128
+ export interface AcknowledgeResponse {
129
+ documentId: string;
130
+ status: "ACKNOWLEDGED";
131
+ acknowledgedAt: string;
132
+ }
133
+ export interface InboxAllParams {
134
+ offset?: number;
135
+ limit?: number;
136
+ status?: InboxStatus;
137
+ /** ISO 8601 timestamp — only return documents created after this date */
138
+ since?: string;
139
+ /** Filter to a specific firm UUID */
140
+ firm_id?: string;
141
+ }
142
+ export interface InboxAllDocument {
143
+ firm_id: string;
144
+ firm_name: string | null;
145
+ id: string;
146
+ number: string | null;
147
+ status: string;
148
+ direction: string;
149
+ doc_type: string;
150
+ issue_date: string | null;
151
+ due_date: string | null;
152
+ currency: string;
153
+ supplier: {
154
+ name: string | null;
155
+ ico: string | null;
156
+ peppol_id: string | null;
157
+ };
158
+ customer: {
159
+ name: string | null;
160
+ ico: string | null;
161
+ peppol_id: string | null;
162
+ };
163
+ totals: {
164
+ without_vat: number | null;
165
+ vat: number | null;
166
+ with_vat: number | null;
167
+ };
168
+ peppol_message_id: string | null;
169
+ created_at: string;
170
+ }
171
+ export interface InboxAllResponse {
172
+ documents: InboxAllDocument[];
173
+ total: number;
174
+ limit: number;
175
+ offset: number;
176
+ }
177
+ export interface StatusHistoryEntry {
178
+ status: string;
179
+ timestamp: string;
180
+ detail: string | null;
181
+ }
182
+ export interface DocumentStatusResponse {
183
+ id: string;
184
+ status: string;
185
+ documentType: string | null;
186
+ senderPeppolId: string | null;
187
+ receiverPeppolId: string | null;
188
+ statusHistory: StatusHistoryEntry[];
189
+ validationResult: Record<string, unknown> | null;
190
+ deliveredAt: string | null;
191
+ acknowledgedAt: string | null;
192
+ invoiceResponseStatus: InvoiceResponseCode | null;
193
+ as4MessageId: string | null;
194
+ createdAt: string;
195
+ updatedAt: string;
196
+ }
197
+ export interface DocumentEvidenceResponse {
198
+ documentId: string;
199
+ as4Receipt: Record<string, unknown> | null;
200
+ mlrDocument: Record<string, unknown> | null;
201
+ invoiceResponse: {
202
+ status: InvoiceResponseCode | null;
203
+ document: Record<string, unknown>;
204
+ } | null;
205
+ deliveredAt: string | null;
206
+ sentAt: string | null;
207
+ }
208
+ export interface InvoiceRespondRequest {
209
+ /** AP = accepted, RE = rejected, UQ = under query */
210
+ status: InvoiceResponseCode;
211
+ note?: string;
212
+ }
213
+ export interface InvoiceRespondResponse {
214
+ documentId: string;
215
+ responseStatus: InvoiceResponseCode;
216
+ respondedAt: string;
217
+ }
218
+ export interface ValidationResult {
219
+ valid: boolean;
220
+ warnings: string[];
221
+ /** Generated UBL XML, only present for JSON mode requests */
222
+ ubl: string | null;
223
+ }
224
+ export interface PreflightRequest {
225
+ receiverPeppolId: string;
226
+ documentTypeId?: string;
227
+ }
228
+ export interface PreflightResult {
229
+ receiverPeppolId: string;
230
+ registered: boolean;
231
+ supportsDocumentType: boolean;
232
+ smpUrl: string | null;
233
+ }
234
+ export interface ConvertRequest {
235
+ direction: ConvertDirection;
236
+ /** JSON document data (for json_to_ubl) */
237
+ data?: Record<string, unknown>;
238
+ /** UBL XML string (for ubl_to_json) */
239
+ xml?: string;
240
+ }
241
+ export interface ConvertResult {
242
+ direction: ConvertDirection;
243
+ /** UBL XML string for json_to_ubl, parsed object for ubl_to_json */
244
+ result: string | Record<string, unknown>;
245
+ }
246
+ export interface SmpParticipantCapability {
247
+ documentTypeId: string;
248
+ processId: string;
249
+ transportProfile: string;
250
+ }
251
+ export interface PeppolParticipant {
252
+ peppolId: string;
253
+ name: string | null;
254
+ country: string | null;
255
+ capabilities: SmpParticipantCapability[];
256
+ }
257
+ export interface DirectorySearchParams {
258
+ q?: string;
259
+ country?: string;
260
+ page?: number;
261
+ page_size?: number;
262
+ }
263
+ export interface DirectoryEntry {
264
+ peppolId: string;
265
+ name: string;
266
+ country: string;
267
+ registeredAt: string | null;
268
+ }
269
+ export interface DirectorySearchResult {
270
+ results: DirectoryEntry[];
271
+ total: number;
272
+ page: number;
273
+ page_size: number;
274
+ }
275
+ export interface CompanyLookup {
276
+ ico: string;
277
+ name: string;
278
+ dic: string | null;
279
+ icDph: string | null;
280
+ address?: PartyAddress;
281
+ peppolId: string | null;
282
+ }
283
+ export interface FirmSummary {
284
+ id: string;
285
+ name: string;
286
+ ico: string | null;
287
+ peppolId: string | null;
288
+ peppolStatus: string;
289
+ }
290
+ export interface FirmPeppolIdentifier {
291
+ scheme: string;
292
+ identifier: string;
293
+ }
294
+ export interface FirmDetail extends FirmSummary {
295
+ dic: string | null;
296
+ icDph: string | null;
297
+ address?: PartyAddress;
298
+ peppolIdentifiers: FirmPeppolIdentifier[];
299
+ createdAt: string;
300
+ }
301
+ export interface FirmsListResponse {
302
+ firms: FirmSummary[];
303
+ }
304
+ export interface FirmDocumentsParams {
305
+ offset?: number;
306
+ limit?: number;
307
+ direction?: DocumentDirection;
308
+ }
309
+ export interface PeppolIdentifierResponse {
310
+ peppolId: string;
311
+ scheme: string;
312
+ identifier: string;
313
+ registeredAt: string;
314
+ }
315
+ export interface AssignFirmRequest {
316
+ /** Slovak ICO (8 digits) */
317
+ ico: string;
318
+ }
319
+ export interface AssignFirmResponse {
320
+ firm: {
321
+ id: string;
322
+ name: string | null;
323
+ ico: string | null;
324
+ peppol_id: string | null;
325
+ peppol_status: string;
326
+ };
327
+ status: "active";
328
+ }
329
+ export interface BatchAssignFirmsRequest {
330
+ /** Array of Slovak ICOs (8 digits each, max 50) */
331
+ icos: string[];
332
+ }
333
+ export interface BatchAssignFirmResult {
334
+ ico: string;
335
+ firm?: {
336
+ id: string;
337
+ name: string | null;
338
+ ico: string | null;
339
+ peppol_id: string | null;
340
+ peppol_status: string;
341
+ };
342
+ status?: "active" | "already_assigned";
343
+ error?: string;
344
+ message?: string;
345
+ }
346
+ export interface BatchAssignFirmsResponse {
347
+ results: BatchAssignFirmResult[];
348
+ }
349
+ export interface CreateWebhookRequest {
350
+ url: string;
351
+ events?: WebhookEvent[];
352
+ }
353
+ export interface UpdateWebhookRequest {
354
+ url?: string;
355
+ events?: WebhookEvent[];
356
+ isActive?: boolean;
357
+ }
358
+ export interface Webhook {
359
+ id: string;
360
+ url: string;
361
+ events: WebhookEvent[];
362
+ isActive: boolean;
363
+ createdAt: string;
364
+ }
365
+ export interface WebhookDetail extends Webhook {
366
+ /** HMAC-SHA256 signing secret — only returned on creation */
367
+ secret?: string;
368
+ }
369
+ export interface WebhookDelivery {
370
+ id: string;
371
+ webhookId: string;
372
+ event: string;
373
+ status: string;
374
+ attempts: number;
375
+ responseStatus: number | null;
376
+ createdAt: string;
377
+ }
378
+ export interface WebhookWithDeliveries extends Webhook {
379
+ deliveries: WebhookDelivery[];
380
+ }
381
+ export interface WebhookListResponse {
382
+ data: Webhook[];
383
+ }
384
+ export interface WebhookQueueParams {
385
+ /** Max items to return (1–100, default 20) */
386
+ limit?: number;
387
+ /** Filter by event type, e.g. 'document.received' */
388
+ event_type?: string;
389
+ }
390
+ export interface WebhookQueueItem {
391
+ id: string;
392
+ type: string;
393
+ created_at: string;
394
+ payload: Record<string, unknown>;
395
+ }
396
+ export interface WebhookQueueResponse {
397
+ items: WebhookQueueItem[];
398
+ has_more: boolean;
399
+ }
400
+ export interface WebhookQueueAllParams {
401
+ /** Max items to return (1–500, default 100) */
402
+ limit?: number;
403
+ /** ISO 8601 timestamp — only return events created after this date */
404
+ since?: string;
405
+ }
406
+ export interface WebhookQueueAllEvent {
407
+ event_id: string;
408
+ firm_id: string;
409
+ event: string;
410
+ payload: Record<string, unknown>;
411
+ created_at: string;
412
+ }
413
+ export interface WebhookQueueAllResponse {
414
+ events: WebhookQueueAllEvent[];
415
+ count: number;
416
+ }
417
+ export interface StatisticsParams {
418
+ from?: string;
419
+ to?: string;
420
+ }
421
+ export interface Statistics {
422
+ period: {
423
+ from: string;
424
+ to: string;
425
+ };
426
+ outbound: {
427
+ total: number;
428
+ delivered: number;
429
+ failed: number;
430
+ };
431
+ inbound: {
432
+ total: number;
433
+ acknowledged: number;
434
+ pending: number;
435
+ };
436
+ }
437
+ export interface Account {
438
+ firm: {
439
+ name: string;
440
+ ico: string | null;
441
+ peppolId: string | null;
442
+ peppolStatus: string;
443
+ };
444
+ plan: {
445
+ name: string;
446
+ status: "active" | "expired";
447
+ };
448
+ usage: {
449
+ outbound: number;
450
+ inbound: number;
451
+ };
452
+ }
453
+ export interface ExtractResult {
454
+ extraction: Record<string, unknown>;
455
+ ubl_xml: string;
456
+ confidence: number;
457
+ file_name: string;
458
+ }
459
+ export interface BatchExtractItem {
460
+ file_name: string;
461
+ extraction?: Record<string, unknown>;
462
+ ubl_xml?: string;
463
+ confidence?: string;
464
+ error?: string;
465
+ }
466
+ export interface BatchExtractResult {
467
+ batch_id: string;
468
+ total: number;
469
+ successful: number;
470
+ failed: number;
471
+ results: BatchExtractItem[];
472
+ }
473
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Shared primitives
3
+ // ---------------------------------------------------------------------------
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Error thrown when an API request fails.
3
+ */
4
+ export declare class EPostakError extends Error {
5
+ /** HTTP status code */
6
+ status: number;
7
+ /** Machine-readable error code from the API */
8
+ code?: string;
9
+ /** Additional error details (validation messages, etc.) */
10
+ details?: unknown;
11
+ constructor(status: number, body: Record<string, unknown>);
12
+ }
13
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuB1D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Error thrown when an API request fails.
3
+ */
4
+ export class EPostakError extends Error {
5
+ /** HTTP status code */
6
+ status;
7
+ /** Machine-readable error code from the API */
8
+ code;
9
+ /** Additional error details (validation messages, etc.) */
10
+ details;
11
+ constructor(status, body) {
12
+ const errorObj = body?.error;
13
+ const errorObjMap = errorObj !== null && typeof errorObj === "object"
14
+ ? errorObj
15
+ : null;
16
+ const msg = typeof errorObj === "string"
17
+ ? errorObj
18
+ : errorObjMap && "message" in errorObjMap
19
+ ? String(errorObjMap.message)
20
+ : "API request failed";
21
+ super(msg);
22
+ this.name = "EPostakError";
23
+ this.status = status;
24
+ if (errorObjMap) {
25
+ if ("code" in errorObjMap)
26
+ this.code = String(errorObjMap.code);
27
+ if ("details" in errorObjMap)
28
+ this.details = errorObjMap.details;
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,uBAAuB;IACvB,MAAM,CAAS;IACf,+CAA+C;IAC/C,IAAI,CAAU;IACd,2DAA2D;IAC3D,OAAO,CAAW;IAElB,YAAY,MAAc,EAAE,IAA6B;QACvD,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;QAC7B,MAAM,WAAW,GACf,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC/C,CAAC,CAAE,QAAoC;YACvC,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,GAAG,GACP,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,WAAW,IAAI,SAAS,IAAI,WAAW;gBACvC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,oBAAoB,CAAC;QAE7B,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,MAAM,IAAI,WAAW;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,SAAS,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACnE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ export interface ClientConfig {
2
+ baseUrl: string;
3
+ apiKey: string;
4
+ firmId: string | undefined;
5
+ }
6
+ export declare class BaseResource {
7
+ protected config: ClientConfig;
8
+ constructor(config: ClientConfig);
9
+ protected request<T>(method: string, path: string, body?: unknown, options?: {
10
+ headers?: Record<string, string>;
11
+ rawResponse?: boolean;
12
+ }): Promise<T>;
13
+ }
14
+ /**
15
+ * Build a query string from a params object, skipping undefined values.
16
+ * Number values are coerced to strings automatically.
17
+ */
18
+ export declare function buildQuery(params: Record<string, string | number | undefined>): string;
19
+ /**
20
+ * Core fetch wrapper used by all resource methods.
21
+ * Handles auth headers, JSON serialisation, FormData pass-through, and error
22
+ * normalisation.
23
+ */
24
+ export declare function request<T>(baseUrl: string, apiKey: string, firmId: string | undefined, method: string, path: string, body?: unknown, options?: {
25
+ headers?: Record<string, string>;
26
+ rawResponse?: boolean;
27
+ }): Promise<T>;
28
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,qBAAa,YAAY;IACX,SAAS,CAAC,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IAE1C,SAAS,CAAC,OAAO,CAAC,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GACpE,OAAO,CAAC,CAAC,CAAC;CAWd;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACpE,OAAO,CAAC,CAAC,CAAC,CAsDZ"}
@@ -0,0 +1,79 @@
1
+ import { EPostakError } from "./errors.js";
2
+ export class BaseResource {
3
+ config;
4
+ constructor(config) {
5
+ this.config = config;
6
+ }
7
+ request(method, path, body, options) {
8
+ return request(this.config.baseUrl, this.config.apiKey, this.config.firmId, method, path, body, options);
9
+ }
10
+ }
11
+ /**
12
+ * Build a query string from a params object, skipping undefined values.
13
+ * Number values are coerced to strings automatically.
14
+ */
15
+ export function buildQuery(params) {
16
+ const qs = new URLSearchParams();
17
+ for (const [key, val] of Object.entries(params)) {
18
+ if (val !== undefined)
19
+ qs.set(key, String(val));
20
+ }
21
+ const s = qs.toString();
22
+ return s ? `?${s}` : "";
23
+ }
24
+ /**
25
+ * Core fetch wrapper used by all resource methods.
26
+ * Handles auth headers, JSON serialisation, FormData pass-through, and error
27
+ * normalisation.
28
+ */
29
+ export async function request(baseUrl, apiKey, firmId, method, path, body, options) {
30
+ const headers = {
31
+ Authorization: `Bearer ${apiKey}`,
32
+ ...options?.headers,
33
+ };
34
+ if (firmId) {
35
+ headers["X-Firm-Id"] = firmId;
36
+ }
37
+ if (body !== undefined && !(body instanceof FormData)) {
38
+ headers["Content-Type"] = "application/json";
39
+ }
40
+ let fetchBody = null;
41
+ if (body instanceof FormData) {
42
+ fetchBody = body;
43
+ }
44
+ else if (body !== undefined) {
45
+ fetchBody = JSON.stringify(body);
46
+ }
47
+ let res;
48
+ try {
49
+ res = await fetch(`${baseUrl}${path}`, {
50
+ method,
51
+ headers,
52
+ body: fetchBody,
53
+ });
54
+ }
55
+ catch (err) {
56
+ throw new EPostakError(0, {
57
+ error: err instanceof Error ? err.message : "Network error",
58
+ });
59
+ }
60
+ if (!res.ok) {
61
+ let errorBody = {};
62
+ try {
63
+ errorBody = (await res.json());
64
+ }
65
+ catch {
66
+ errorBody = { error: res.statusText };
67
+ }
68
+ throw new EPostakError(res.status, errorBody);
69
+ }
70
+ if (options?.rawResponse) {
71
+ return res;
72
+ }
73
+ // Handle 204 No Content (e.g. DELETE ack, batch-ack)
74
+ if (res.status === 204 || res.headers.get("content-length") === "0") {
75
+ return undefined;
76
+ }
77
+ return res.json();
78
+ }
79
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"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"}