keez-invoicing 1.1.5
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.
- package/LICENSE +28 -0
- package/README.md +366 -0
- package/dist/coverage/lcov-report/block-navigation.js +71 -0
- package/dist/coverage/lcov-report/prettify.js +478 -0
- package/dist/coverage/lcov-report/sorter.js +177 -0
- package/dist/eslint.config.js +56 -0
- package/dist/jest.config.cjs +13 -0
- package/dist/jest.config.js +13 -0
- package/dist/src/api/__tests__/index.test.js +52 -0
- package/dist/src/api/authorise.js +48 -0
- package/dist/src/api/invoices/cancel.js +33 -0
- package/dist/src/api/invoices/create.js +97 -0
- package/dist/src/api/invoices/delete.js +33 -0
- package/dist/src/api/invoices/downloadPdf.js +31 -0
- package/dist/src/api/invoices/getAll.js +84 -0
- package/dist/src/api/invoices/sendMail.js +59 -0
- package/dist/src/api/invoices/submitEfactura.js +34 -0
- package/dist/src/api/invoices/update.js +61 -0
- package/dist/src/api/invoices/validate.js +39 -0
- package/dist/src/api/invoices/view.js +93 -0
- package/dist/src/api/items/create.js +42 -0
- package/dist/src/api/items/getAll.js +74 -0
- package/dist/src/api/items/getById.js +46 -0
- package/dist/src/api/items/index.js +14 -0
- package/dist/src/api/items/patch.js +49 -0
- package/dist/src/api/items/update.js +41 -0
- package/dist/src/config/constants.js +23 -0
- package/dist/src/config/constructorParam.js +3 -0
- package/dist/src/config/measureUnit.js +22 -0
- package/dist/src/config/paymentType.js +17 -0
- package/dist/src/config/paymentType.js.js +16 -0
- package/dist/src/dto/allInvoicesResponse.js +3 -0
- package/dist/src/dto/authResponse.js +3 -0
- package/dist/src/dto/common/index.js +3 -0
- package/dist/src/dto/common/paginationParams.js +3 -0
- package/dist/src/dto/createInvoiceRequest.js +3 -0
- package/dist/src/dto/invoiceResponse.js +3 -0
- package/dist/src/dto/invoices/index.js +3 -0
- package/dist/src/dto/invoices/invoiceFilterParams.js +3 -0
- package/dist/src/dto/invoices/invoiceRequestV2.js +3 -0
- package/dist/src/dto/invoices/sendInvoiceParams.js +3 -0
- package/dist/src/dto/items/allItemsResponse.js +3 -0
- package/dist/src/dto/items/index.js +3 -0
- package/dist/src/dto/items/itemRequest.js +3 -0
- package/dist/src/dto/items/itemResponse.js +3 -0
- package/dist/src/errors/KeezError.js +27 -0
- package/dist/src/helpers/logger.js +15 -0
- package/dist/src/index.js +15 -0
- package/dist/src/keezApi.js +283 -0
- package/dist/tests/additional-coverage.test.js +351 -0
- package/dist/tests/edge-cases.test.js +353 -0
- package/dist/tests/error-handling.test.js +224 -0
- package/dist/tests/filter-params.test.js +267 -0
- package/dist/tests/index.test.js +493 -0
- package/dist/tests/invoices-extended.test.js +168 -0
- package/dist/tests/items.test.js +142 -0
- package/dist/types/coverage/lcov-report/block-navigation.d.ts +1 -0
- package/dist/types/coverage/lcov-report/prettify.d.ts +0 -0
- package/dist/types/coverage/lcov-report/sorter.d.ts +1 -0
- package/dist/types/eslint.config.d.ts +2 -0
- package/dist/types/jest.config.d.cts +9 -0
- package/dist/types/jest.config.d.ts +9 -0
- package/dist/types/src/api/__tests__/index.test.d.ts +1 -0
- package/dist/types/src/api/authorise.d.ts +18 -0
- package/dist/types/src/api/invoices/cancel.d.ts +9 -0
- package/dist/types/src/api/invoices/create.d.ts +22 -0
- package/dist/types/src/api/invoices/delete.d.ts +9 -0
- package/dist/types/src/api/invoices/downloadPdf.d.ts +8 -0
- package/dist/types/src/api/invoices/getAll.d.ts +22 -0
- package/dist/types/src/api/invoices/sendMail.d.ts +24 -0
- package/dist/types/src/api/invoices/submitEfactura.d.ts +9 -0
- package/dist/types/src/api/invoices/update.d.ts +11 -0
- package/dist/types/src/api/invoices/validate.d.ts +21 -0
- package/dist/types/src/api/invoices/view.d.ts +22 -0
- package/dist/types/src/api/items/create.d.ts +10 -0
- package/dist/types/src/api/items/getAll.d.ts +10 -0
- package/dist/types/src/api/items/getById.d.ts +10 -0
- package/dist/types/src/api/items/index.d.ts +5 -0
- package/dist/types/src/api/items/patch.d.ts +11 -0
- package/dist/types/src/api/items/update.d.ts +11 -0
- package/dist/types/src/config/constants.d.ts +13 -0
- package/dist/types/src/config/constructorParam.d.ts +6 -0
- package/dist/types/src/config/measureUnit.d.ts +17 -0
- package/dist/types/src/config/paymentType.d.ts +12 -0
- package/dist/types/src/config/paymentType.js.d.ts +11 -0
- package/dist/types/src/dto/allInvoicesResponse.d.ts +21 -0
- package/dist/types/src/dto/authResponse.d.ts +7 -0
- package/dist/types/src/dto/common/index.d.ts +1 -0
- package/dist/types/src/dto/common/paginationParams.d.ts +4 -0
- package/dist/types/src/dto/createInvoiceRequest.d.ts +34 -0
- package/dist/types/src/dto/invoiceResponse.d.ts +48 -0
- package/dist/types/src/dto/invoices/index.d.ts +3 -0
- package/dist/types/src/dto/invoices/invoiceFilterParams.d.ts +8 -0
- package/dist/types/src/dto/invoices/invoiceRequestV2.d.ts +23 -0
- package/dist/types/src/dto/invoices/sendInvoiceParams.d.ts +5 -0
- package/dist/types/src/dto/items/allItemsResponse.d.ts +13 -0
- package/dist/types/src/dto/items/index.d.ts +3 -0
- package/dist/types/src/dto/items/itemRequest.d.ts +34 -0
- package/dist/types/src/dto/items/itemResponse.d.ts +15 -0
- package/dist/types/src/errors/KeezError.d.ts +11 -0
- package/dist/types/src/helpers/logger.d.ts +2 -0
- package/dist/types/src/index.d.ts +11 -0
- package/dist/types/src/keezApi.d.ts +114 -0
- package/dist/types/tests/additional-coverage.test.d.ts +1 -0
- package/dist/types/tests/edge-cases.test.d.ts +1 -0
- package/dist/types/tests/error-handling.test.d.ts +1 -0
- package/dist/types/tests/filter-params.test.d.ts +1 -0
- package/dist/types/tests/index.test.d.ts +1 -0
- package/dist/types/tests/invoices-extended.test.d.ts +1 -0
- package/dist/types/tests/items.test.d.ts +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const nock = require("nock");
|
|
4
|
+
const keezApi_1 = require("../src/keezApi");
|
|
5
|
+
const paymentType_1 = require("../src/config/paymentType");
|
|
6
|
+
describe('Keez API Invoices Extended', () => {
|
|
7
|
+
let keezApi;
|
|
8
|
+
const baseDomain = 'https://staging.keez.ro';
|
|
9
|
+
const clientEid = 'test-client-eid';
|
|
10
|
+
beforeAll(() => {
|
|
11
|
+
keezApi = new keezApi_1.KeezApi({
|
|
12
|
+
application_id: 'test-app-id',
|
|
13
|
+
client_eid: clientEid,
|
|
14
|
+
secret: 'test-secret',
|
|
15
|
+
live: false,
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
// Mock the auth token generation
|
|
20
|
+
nock(baseDomain)
|
|
21
|
+
.post('/idp/connect/token')
|
|
22
|
+
.reply(200, {
|
|
23
|
+
access_token: 'test-token',
|
|
24
|
+
expires_in: 3600,
|
|
25
|
+
token_type: 'Bearer',
|
|
26
|
+
scope: 'public-api',
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
afterEach(() => {
|
|
30
|
+
nock.cleanAll();
|
|
31
|
+
});
|
|
32
|
+
describe('getAllInvoices with filters', () => {
|
|
33
|
+
it('should fetch invoices with status filter', async () => {
|
|
34
|
+
const mockInvoices = {
|
|
35
|
+
first: 0,
|
|
36
|
+
last: 1,
|
|
37
|
+
recordsCount: 1,
|
|
38
|
+
data: [
|
|
39
|
+
{
|
|
40
|
+
externalId: 'inv-1',
|
|
41
|
+
series: 'INV',
|
|
42
|
+
number: 1,
|
|
43
|
+
documentDate: 20230101,
|
|
44
|
+
dueDate: 20230115,
|
|
45
|
+
status: 'VALIDATED',
|
|
46
|
+
clientName: 'Test Client',
|
|
47
|
+
partnerName: 'Test Partner',
|
|
48
|
+
currencyCode: 'RON',
|
|
49
|
+
referenceCurrencyCode: 'RON',
|
|
50
|
+
netAmount: 100,
|
|
51
|
+
vatAmount: 19,
|
|
52
|
+
grossAmount: 119,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
nock(baseDomain)
|
|
57
|
+
.get(`/api/v1.0/public-api/${clientEid}/invoices`)
|
|
58
|
+
.query({ status: 'VALIDATED' })
|
|
59
|
+
.reply(200, mockInvoices);
|
|
60
|
+
const result = await keezApi.getAllInvoices({ status: 'VALIDATED' });
|
|
61
|
+
expect(result.data).toHaveLength(1);
|
|
62
|
+
expect(result.data[0].status).toBe('VALIDATED');
|
|
63
|
+
});
|
|
64
|
+
it('should fetch invoices with pagination', async () => {
|
|
65
|
+
const mockInvoices = {
|
|
66
|
+
first: 10,
|
|
67
|
+
last: 19,
|
|
68
|
+
recordsCount: 50,
|
|
69
|
+
data: [],
|
|
70
|
+
};
|
|
71
|
+
nock(baseDomain)
|
|
72
|
+
.get(`/api/v1.0/public-api/${clientEid}/invoices`)
|
|
73
|
+
.query({ offset: '10', count: '10' })
|
|
74
|
+
.reply(200, mockInvoices);
|
|
75
|
+
const result = await keezApi.getAllInvoices({ offset: 10, count: 10 });
|
|
76
|
+
expect(result.first).toBe(10);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe('sendInvoice with extended params', () => {
|
|
80
|
+
it('should send invoice with simple email', async () => {
|
|
81
|
+
nock(baseDomain)
|
|
82
|
+
.post('/api/v1.0/public-api/invoices/delivery')
|
|
83
|
+
.reply(200);
|
|
84
|
+
const result = await keezApi.sendInvoice('test@example.com', 'inv-123');
|
|
85
|
+
expect(result).toBe('SENT');
|
|
86
|
+
});
|
|
87
|
+
it('should send invoice with CC and BCC', async () => {
|
|
88
|
+
nock(baseDomain)
|
|
89
|
+
.post('/api/v1.0/public-api/invoices/delivery')
|
|
90
|
+
.reply(200);
|
|
91
|
+
const result = await keezApi.sendInvoice({
|
|
92
|
+
to: 'main@example.com',
|
|
93
|
+
cc: ['cc1@example.com', 'cc2@example.com'],
|
|
94
|
+
bcc: ['bcc@example.com'],
|
|
95
|
+
}, 'inv-123');
|
|
96
|
+
expect(result).toBe('SENT');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('updateInvoice', () => {
|
|
100
|
+
it('should update an existing invoice', async () => {
|
|
101
|
+
nock(baseDomain)
|
|
102
|
+
.put(`/api/v1.0/public-api/${clientEid}/invoices/inv-123`)
|
|
103
|
+
.reply(200);
|
|
104
|
+
await expect(keezApi.updateInvoice('inv-123', {
|
|
105
|
+
series: 'INV',
|
|
106
|
+
documentDate: 20230101,
|
|
107
|
+
dueDate: 20230115,
|
|
108
|
+
currencyCode: 'RON',
|
|
109
|
+
paymentType: paymentType_1.PaymentType.BANK_TRANSFER,
|
|
110
|
+
partner: {
|
|
111
|
+
isLegalPerson: false,
|
|
112
|
+
partnerName: 'Updated Partner',
|
|
113
|
+
identificationNumber: '123456',
|
|
114
|
+
countryCode: 'RO',
|
|
115
|
+
countryName: 'Romania',
|
|
116
|
+
countyCode: 'B',
|
|
117
|
+
countyName: 'Bucuresti',
|
|
118
|
+
cityName: 'Bucuresti',
|
|
119
|
+
addressDetails: 'Test Address',
|
|
120
|
+
},
|
|
121
|
+
items: [
|
|
122
|
+
{
|
|
123
|
+
itemExternalId: 'item-1',
|
|
124
|
+
measureUnitId: 1,
|
|
125
|
+
quantity: 2,
|
|
126
|
+
unitPrice: 100,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
})).resolves.toBeUndefined();
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('deleteInvoice', () => {
|
|
133
|
+
it('should delete an invoice', async () => {
|
|
134
|
+
nock(baseDomain)
|
|
135
|
+
.delete(`/api/v1.0/public-api/${clientEid}/invoices`)
|
|
136
|
+
.reply(200);
|
|
137
|
+
await expect(keezApi.deleteInvoice('inv-123')).resolves.toBeUndefined();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
describe('submitInvoiceToEfactura', () => {
|
|
141
|
+
it('should submit invoice to eFactura', async () => {
|
|
142
|
+
nock(baseDomain)
|
|
143
|
+
.post(`/api/v1.0/public-api/${clientEid}/invoices/efactura/submitted`)
|
|
144
|
+
.reply(200, { uploadIndex: 'upload-123' });
|
|
145
|
+
const result = await keezApi.submitInvoiceToEfactura('inv-123');
|
|
146
|
+
expect(result).toBe('upload-123');
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
describe('cancelInvoice', () => {
|
|
150
|
+
it('should cancel an invoice', async () => {
|
|
151
|
+
nock(baseDomain)
|
|
152
|
+
.post(`/api/v1.0/public-api/${clientEid}/invoices/canceled`)
|
|
153
|
+
.reply(200);
|
|
154
|
+
await expect(keezApi.cancelInvoice('inv-123')).resolves.toBeUndefined();
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
describe('downloadInvoicePdf', () => {
|
|
158
|
+
it('should download invoice PDF', async () => {
|
|
159
|
+
const pdfBuffer = Buffer.from('PDF content');
|
|
160
|
+
nock(baseDomain)
|
|
161
|
+
.get('/api/v1.0/public-api/invoices/inv-123/pdf')
|
|
162
|
+
.reply(200, pdfBuffer);
|
|
163
|
+
const result = await keezApi.downloadInvoicePdf('inv-123');
|
|
164
|
+
expect(result).toBeInstanceOf(Buffer);
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZXMtZXh0ZW5kZWQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3RzL2ludm9pY2VzLWV4dGVuZGVkLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBOEI7QUFDOUIsdUNBQW9DO0FBQ3BDLHNEQUFtRDtBQUVuRCxRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLElBQUksT0FBZ0IsQ0FBQztJQUNyQixNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztJQUVwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQztZQUNsQixjQUFjLEVBQUUsYUFBYTtZQUM3QixVQUFVLEVBQUUsU0FBUztZQUNyQixNQUFNLEVBQUUsYUFBYTtZQUNyQixJQUFJLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ1gsSUFBSSxDQUFDLG9CQUFvQixDQUFDO2FBQzFCLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDUixZQUFZLEVBQUUsWUFBWTtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsWUFBWTtTQUN0QixDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN0RCxNQUFNLFlBQVksR0FBRztnQkFDakIs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QztpQkFDWCxJQUFJLENBQUMsd0JBQXdCLFNBQVMsb0JBQW9CLENBQUM7aUJBQzNELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVoQixNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ1gsR0FBRyxDQUFDLDJDQUEyQyxDQUFDO2lCQUNoRCxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5vY2sgPSByZXF1aXJlKCdub2NrJyk7XG5pbXBvcnQgeyBLZWV6QXBpIH0gZnJvbSAnQC9rZWV6QXBpJztcbmltcG9ydCB7IFBheW1lbnRUeXBlIH0gZnJvbSAnQC9jb25maWcvcGF5bWVudFR5cGUnO1xuXG5kZXNjcmliZSgnS2VleiBBUEkgSW52b2ljZXMgRXh0ZW5kZWQnLCAoKSA9PiB7XG4gICAgbGV0IGtlZXpBcGk6IEtlZXpBcGk7XG4gICAgY29uc3QgYmFzZURvbWFpbiA9ICdodHRwczovL3N0YWdpbmcua2Vlei5ybyc7XG4gICAgY29uc3QgY2xpZW50RWlkID0gJ3Rlc3QtY2xpZW50LWVpZCc7XG5cbiAgICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgICAgICBrZWV6QXBpID0gbmV3IEtlZXpBcGkoe1xuICAgICAgICAgICAgYXBwbGljYXRpb25faWQ6ICd0ZXN0LWFwcC1pZCcsXG4gICAgICAgICAgICBjbGllbnRfZWlkOiBjbGllbnRFaWQsXG4gICAgICAgICAgICBzZWNyZXQ6ICd0ZXN0LXNlY3JldCcsXG4gICAgICAgICAgICBsaXZlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgLy8gTW9jayB0aGUgYXV0aCB0b2tlbiBnZW5lcmF0aW9uXG4gICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgIC5wb3N0KCcvaWRwL2Nvbm5lY3QvdG9rZW4nKVxuICAgICAgICAgICAgLnJlcGx5KDIwMCwge1xuICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogJ3Rlc3QtdG9rZW4nLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IDM2MDAsXG4gICAgICAgICAgICAgICAgdG9rZW5fdHlwZTogJ0JlYXJlcicsXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdwdWJsaWMtYXBpJyxcbiAgICAgICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldEFsbEludm9pY2VzIHdpdGggZmlsdGVycycsICgpID0+IHtcbiAgICAgICAgaXQoJ3Nob3VsZCBmZXRjaCBpbnZvaWNlcyB3aXRoIHN0YXR1cyBmaWx0ZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtb2NrSW52b2ljZXMgPSB7XG4gICAgICAgICAgICAgICAgZmlyc3Q6IDAsXG4gICAgICAgICAgICAgICAgbGFzdDogMSxcbiAgICAgICAgICAgICAgICByZWNvcmRzQ291bnQ6IDEsXG4gICAgICAgICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbElkOiAnaW52LTEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOiAnSU5WJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50RGF0ZTogMjAyMzAxMDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkdWVEYXRlOiAyMDIzMDExNSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ1ZBTElEQVRFRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnROYW1lOiAnVGVzdCBDbGllbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydG5lck5hbWU6ICdUZXN0IFBhcnRuZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lDb2RlOiAnUk9OJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUN1cnJlbmN5Q29kZTogJ1JPTicsXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXRBbW91bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhdEFtb3VudDogMTksXG4gICAgICAgICAgICAgICAgICAgICAgICBncm9zc0Ftb3VudDogMTE5LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLmdldChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2ludm9pY2VzYClcbiAgICAgICAgICAgICAgICAucXVlcnkoeyBzdGF0dXM6ICdWQUxJREFURUQnIH0pXG4gICAgICAgICAgICAgICAgLnJlcGx5KDIwMCwgbW9ja0ludm9pY2VzKTtcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQga2VlekFwaS5nZXRBbGxJbnZvaWNlcyh7IHN0YXR1czogJ1ZBTElEQVRFRCcgfSk7XG4gICAgICAgICAgICBleHBlY3QocmVzdWx0LmRhdGEpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQuZGF0YVswXS5zdGF0dXMpLnRvQmUoJ1ZBTElEQVRFRCcpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnc2hvdWxkIGZldGNoIGludm9pY2VzIHdpdGggcGFnaW5hdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vY2tJbnZvaWNlcyA9IHtcbiAgICAgICAgICAgICAgICBmaXJzdDogMTAsXG4gICAgICAgICAgICAgICAgbGFzdDogMTksXG4gICAgICAgICAgICAgICAgcmVjb3Jkc0NvdW50OiA1MCxcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgICAgICAuZ2V0KGAvYXBpL3YxLjAvcHVibGljLWFwaS8ke2NsaWVudEVpZH0vaW52b2ljZXNgKVxuICAgICAgICAgICAgICAgIC5xdWVyeSh7IG9mZnNldDogJzEwJywgY291bnQ6ICcxMCcgfSlcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwLCBtb2NrSW52b2ljZXMpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBrZWV6QXBpLmdldEFsbEludm9pY2VzKHsgb2Zmc2V0OiAxMCwgY291bnQ6IDEwIH0pO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3VsdC5maXJzdCkudG9CZSgxMCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NlbmRJbnZvaWNlIHdpdGggZXh0ZW5kZWQgcGFyYW1zJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIHNlbmQgaW52b2ljZSB3aXRoIHNpbXBsZSBlbWFpbCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS92MS4wL3B1YmxpYy1hcGkvaW52b2ljZXMvZGVsaXZlcnknKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDApO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBrZWV6QXBpLnNlbmRJbnZvaWNlKCd0ZXN0QGV4YW1wbGUuY29tJywgJ2ludi0xMjMnKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ1NFTlQnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBzZW5kIGludm9pY2Ugd2l0aCBDQyBhbmQgQkNDJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgbm9jayhiYXNlRG9tYWluKVxuICAgICAgICAgICAgICAgIC5wb3N0KCcvYXBpL3YxLjAvcHVibGljLWFwaS9pbnZvaWNlcy9kZWxpdmVyeScpXG4gICAgICAgICAgICAgICAgLnJlcGx5KDIwMCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGtlZXpBcGkuc2VuZEludm9pY2UoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0bzogJ21haW5AZXhhbXBsZS5jb20nLFxuICAgICAgICAgICAgICAgICAgICBjYzogWydjYzFAZXhhbXBsZS5jb20nLCAnY2MyQGV4YW1wbGUuY29tJ10sXG4gICAgICAgICAgICAgICAgICAgIGJjYzogWydiY2NAZXhhbXBsZS5jb20nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICdpbnYtMTIzJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBleHBlY3QocmVzdWx0KS50b0JlKCdTRU5UJyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3VwZGF0ZUludm9pY2UnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgdXBkYXRlIGFuIGV4aXN0aW5nIGludm9pY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLnB1dChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2ludm9pY2VzL2ludi0xMjNgKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDApO1xuXG4gICAgICAgICAgICBhd2FpdCBleHBlY3Qoa2VlekFwaS51cGRhdGVJbnZvaWNlKCdpbnYtMTIzJywge1xuICAgICAgICAgICAgICAgIHNlcmllczogJ0lOVicsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnREYXRlOiAyMDIzMDEwMSxcbiAgICAgICAgICAgICAgICBkdWVEYXRlOiAyMDIzMDExNSxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGU6ICdST04nLFxuICAgICAgICAgICAgICAgIHBheW1lbnRUeXBlOiBQYXltZW50VHlwZS5CQU5LX1RSQU5TRkVSLFxuICAgICAgICAgICAgICAgIHBhcnRuZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgaXNMZWdhbFBlcnNvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhcnRuZXJOYW1lOiAnVXBkYXRlZCBQYXJ0bmVyJyxcbiAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmljYXRpb25OdW1iZXI6ICcxMjM0NTYnLFxuICAgICAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1JPJyxcbiAgICAgICAgICAgICAgICAgICAgY291bnRyeU5hbWU6ICdSb21hbmlhJyxcbiAgICAgICAgICAgICAgICAgICAgY291bnR5Q29kZTogJ0InLFxuICAgICAgICAgICAgICAgICAgICBjb3VudHlOYW1lOiAnQnVjdXJlc3RpJyxcbiAgICAgICAgICAgICAgICAgICAgY2l0eU5hbWU6ICdCdWN1cmVzdGknLFxuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzRGV0YWlsczogJ1Rlc3QgQWRkcmVzcycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtRXh0ZXJuYWxJZDogJ2l0ZW0tMScsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWFzdXJlVW5pdElkOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bml0UHJpY2U6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkpLnJlc29sdmVzLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZGVsZXRlSW52b2ljZScsICgpID0+IHtcbiAgICAgICAgaXQoJ3Nob3VsZCBkZWxldGUgYW4gaW52b2ljZScsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgICAgICAuZGVsZXRlKGAvYXBpL3YxLjAvcHVibGljLWFwaS8ke2NsaWVudEVpZH0vaW52b2ljZXNgKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDApO1xuXG4gICAgICAgICAgICBhd2FpdCBleHBlY3Qoa2VlekFwaS5kZWxldGVJbnZvaWNlKCdpbnYtMTIzJykpLnJlc29sdmVzLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc3VibWl0SW52b2ljZVRvRWZhY3R1cmEnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgc3VibWl0IGludm9pY2UgdG8gZUZhY3R1cmEnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLnBvc3QoYC9hcGkvdjEuMC9wdWJsaWMtYXBpLyR7Y2xpZW50RWlkfS9pbnZvaWNlcy9lZmFjdHVyYS9zdWJtaXR0ZWRgKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDAsIHsgdXBsb2FkSW5kZXg6ICd1cGxvYWQtMTIzJyB9KTtcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQga2VlekFwaS5zdWJtaXRJbnZvaWNlVG9FZmFjdHVyYSgnaW52LTEyMycpO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndXBsb2FkLTEyMycpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjYW5jZWxJbnZvaWNlJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIGNhbmNlbCBhbiBpbnZvaWNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgbm9jayhiYXNlRG9tYWluKVxuICAgICAgICAgICAgICAgIC5wb3N0KGAvYXBpL3YxLjAvcHVibGljLWFwaS8ke2NsaWVudEVpZH0vaW52b2ljZXMvY2FuY2VsZWRgKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDApO1xuXG4gICAgICAgICAgICBhd2FpdCBleHBlY3Qoa2VlekFwaS5jYW5jZWxJbnZvaWNlKCdpbnYtMTIzJykpLnJlc29sdmVzLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZG93bmxvYWRJbnZvaWNlUGRmJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIGRvd25sb2FkIGludm9pY2UgUERGJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGRmQnVmZmVyID0gQnVmZmVyLmZyb20oJ1BERiBjb250ZW50Jyk7XG5cbiAgICAgICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgICAgICAuZ2V0KCcvYXBpL3YxLjAvcHVibGljLWFwaS9pbnZvaWNlcy9pbnYtMTIzL3BkZicpXG4gICAgICAgICAgICAgICAgLnJlcGx5KDIwMCwgcGRmQnVmZmVyKTtcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQga2VlekFwaS5kb3dubG9hZEludm9pY2VQZGYoJ2ludi0xMjMnKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVJbnN0YW5jZU9mKEJ1ZmZlcik7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const nock = require("nock");
|
|
4
|
+
const keezApi_1 = require("../src/keezApi");
|
|
5
|
+
const measureUnit_1 = require("../src/config/measureUnit");
|
|
6
|
+
describe('Keez API Items', () => {
|
|
7
|
+
let keezApi;
|
|
8
|
+
const baseDomain = 'https://staging.keez.ro';
|
|
9
|
+
const clientEid = 'test-client-eid';
|
|
10
|
+
beforeAll(() => {
|
|
11
|
+
keezApi = new keezApi_1.KeezApi({
|
|
12
|
+
application_id: 'test-app-id',
|
|
13
|
+
client_eid: clientEid,
|
|
14
|
+
secret: 'test-secret',
|
|
15
|
+
live: false,
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
// Mock the auth token generation
|
|
20
|
+
nock(baseDomain)
|
|
21
|
+
.post('/idp/connect/token')
|
|
22
|
+
.reply(200, {
|
|
23
|
+
access_token: 'test-token',
|
|
24
|
+
expires_in: 3600,
|
|
25
|
+
token_type: 'Bearer',
|
|
26
|
+
scope: 'public-api',
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
afterEach(() => {
|
|
30
|
+
nock.cleanAll();
|
|
31
|
+
});
|
|
32
|
+
describe('getAllItems', () => {
|
|
33
|
+
it('should fetch all items without filters', async () => {
|
|
34
|
+
const mockItems = {
|
|
35
|
+
first: 0,
|
|
36
|
+
last: 1,
|
|
37
|
+
recordsCount: 2,
|
|
38
|
+
data: [
|
|
39
|
+
{
|
|
40
|
+
externalId: 'item-1',
|
|
41
|
+
itemName: 'Test Item 1',
|
|
42
|
+
itemCode: 'TI001',
|
|
43
|
+
itemDescription: 'Test description',
|
|
44
|
+
measureUnitId: 1,
|
|
45
|
+
measureUnitName: 'Bucata',
|
|
46
|
+
unitPrice: 100,
|
|
47
|
+
vatPercent: 19,
|
|
48
|
+
vatCategoryCode: 'S',
|
|
49
|
+
vatExemptionReason: '',
|
|
50
|
+
isActive: true,
|
|
51
|
+
createdAt: 1700000000000,
|
|
52
|
+
updatedAt: 1700000000000,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
nock(baseDomain)
|
|
57
|
+
.get(`/api/v1.0/public-api/${clientEid}/items`)
|
|
58
|
+
.reply(200, mockItems);
|
|
59
|
+
const result = await keezApi.getAllItems();
|
|
60
|
+
expect(result.recordsCount).toBe(2);
|
|
61
|
+
expect(result.data).toHaveLength(1);
|
|
62
|
+
expect(result.data[0].itemName).toBe('Test Item 1');
|
|
63
|
+
});
|
|
64
|
+
it('should fetch items with pagination', async () => {
|
|
65
|
+
const mockItems = {
|
|
66
|
+
first: 10,
|
|
67
|
+
last: 19,
|
|
68
|
+
recordsCount: 50,
|
|
69
|
+
data: [],
|
|
70
|
+
};
|
|
71
|
+
nock(baseDomain)
|
|
72
|
+
.get(`/api/v1.0/public-api/${clientEid}/items`)
|
|
73
|
+
.query({ offset: '10', count: '10' })
|
|
74
|
+
.reply(200, mockItems);
|
|
75
|
+
const result = await keezApi.getAllItems({ offset: 10, count: 10 });
|
|
76
|
+
expect(result.first).toBe(10);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe('getItemByExternalId', () => {
|
|
80
|
+
it('should fetch a single item by ID', async () => {
|
|
81
|
+
const mockItem = {
|
|
82
|
+
externalId: 'item-123',
|
|
83
|
+
itemName: 'Test Item',
|
|
84
|
+
itemCode: 'TI001',
|
|
85
|
+
itemDescription: 'Test description',
|
|
86
|
+
measureUnitId: 1,
|
|
87
|
+
measureUnitName: 'Bucata',
|
|
88
|
+
unitPrice: 100,
|
|
89
|
+
vatPercent: 19,
|
|
90
|
+
vatCategoryCode: 'S',
|
|
91
|
+
vatExemptionReason: '',
|
|
92
|
+
isActive: true,
|
|
93
|
+
createdAt: 1700000000000,
|
|
94
|
+
updatedAt: 1700000000000,
|
|
95
|
+
};
|
|
96
|
+
nock(baseDomain)
|
|
97
|
+
.get(`/api/v1.0/public-api/${clientEid}/items/item-123`)
|
|
98
|
+
.reply(200, mockItem);
|
|
99
|
+
const result = await keezApi.getItemByExternalId('item-123');
|
|
100
|
+
expect(result.externalId).toBe('item-123');
|
|
101
|
+
expect(result.itemName).toBe('Test Item');
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('createItem', () => {
|
|
105
|
+
it('should create a new item', async () => {
|
|
106
|
+
nock(baseDomain)
|
|
107
|
+
.post(`/api/v1.0/public-api/${clientEid}/items`)
|
|
108
|
+
.reply(201, { externalId: 'new-item-id' });
|
|
109
|
+
const result = await keezApi.createItem({
|
|
110
|
+
itemName: 'New Item',
|
|
111
|
+
measureUnitId: measureUnit_1.MeasureUnit.PIECE,
|
|
112
|
+
unitPrice: 50,
|
|
113
|
+
vatPercent: 19,
|
|
114
|
+
});
|
|
115
|
+
expect(result).toBe('new-item-id');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('updateItem', () => {
|
|
119
|
+
it('should update an existing item', async () => {
|
|
120
|
+
nock(baseDomain)
|
|
121
|
+
.put(`/api/v1.0/public-api/${clientEid}/items/item-123`)
|
|
122
|
+
.reply(200);
|
|
123
|
+
await expect(keezApi.updateItem('item-123', {
|
|
124
|
+
itemName: 'Updated Item',
|
|
125
|
+
measureUnitId: measureUnit_1.MeasureUnit.PIECE,
|
|
126
|
+
unitPrice: 75,
|
|
127
|
+
vatPercent: 19,
|
|
128
|
+
})).resolves.toBeUndefined();
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('patchItem', () => {
|
|
132
|
+
it('should partially update an item', async () => {
|
|
133
|
+
nock(baseDomain)
|
|
134
|
+
.patch(`/api/v1.0/public-api/${clientEid}/items/item-123`)
|
|
135
|
+
.reply(200);
|
|
136
|
+
await expect(keezApi.patchItem('item-123', {
|
|
137
|
+
unitPrice: 80,
|
|
138
|
+
})).resolves.toBeUndefined();
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3RzL2l0ZW1zLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBOEI7QUFDOUIsdUNBQW9DO0FBQ3BDLHNEQUFtRDtBQUVuRCxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzVCLElBQUksT0FBZ0IsQ0FBQztJQUNyQixNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztJQUVwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQztZQUNsQixjQUFjLEVBQUUsYUFBYTtZQUM3QixVQUFVLEVBQUUsU0FBUztZQUNyQixNQUFNLEVBQUUsYUFBYTtZQUNyQixJQUFJLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ1gsSUFBSSxDQUFDLG9CQUFvQixDQUFDO2FBQzFCLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDUixZQUFZLEVBQUUsWUFBWTtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsWUFBWTtTQUN0QixDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUN6QixFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDcEQsTUFBTSxTQUFTLEdBQUc7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxF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TyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7Z0JBQ3hDLFFBQVEsRUFBRSxjQUFjO2dCQUN4QixhQUFhLEVBQUUseUJBQVcsQ0FBQyxLQUFLO2dCQUNoQyxTQUFTLEVBQUUsRUFBRTtnQkFDYixVQUFVLEVBQUUsRUFBRTthQUNqQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1FBQ3ZCLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUNYLEtBQUssQ0FBQyx3QkFBd0IsU0FBUyxpQkFBaUIsQ0FBQztpQkFDekQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWhCLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFO2dCQUN2QyxTQUFTLEVBQUUsRUFBRTthQUNoQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5vY2sgPSByZXF1aXJlKCdub2NrJyk7XG5pbXBvcnQgeyBLZWV6QXBpIH0gZnJvbSAnQC9rZWV6QXBpJztcbmltcG9ydCB7IE1lYXN1cmVVbml0IH0gZnJvbSAnQC9jb25maWcvbWVhc3VyZVVuaXQnO1xuXG5kZXNjcmliZSgnS2VleiBBUEkgSXRlbXMnLCAoKSA9PiB7XG4gICAgbGV0IGtlZXpBcGk6IEtlZXpBcGk7XG4gICAgY29uc3QgYmFzZURvbWFpbiA9ICdodHRwczovL3N0YWdpbmcua2Vlei5ybyc7XG4gICAgY29uc3QgY2xpZW50RWlkID0gJ3Rlc3QtY2xpZW50LWVpZCc7XG5cbiAgICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgICAgICBrZWV6QXBpID0gbmV3IEtlZXpBcGkoe1xuICAgICAgICAgICAgYXBwbGljYXRpb25faWQ6ICd0ZXN0LWFwcC1pZCcsXG4gICAgICAgICAgICBjbGllbnRfZWlkOiBjbGllbnRFaWQsXG4gICAgICAgICAgICBzZWNyZXQ6ICd0ZXN0LXNlY3JldCcsXG4gICAgICAgICAgICBsaXZlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgLy8gTW9jayB0aGUgYXV0aCB0b2tlbiBnZW5lcmF0aW9uXG4gICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgIC5wb3N0KCcvaWRwL2Nvbm5lY3QvdG9rZW4nKVxuICAgICAgICAgICAgLnJlcGx5KDIwMCwge1xuICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogJ3Rlc3QtdG9rZW4nLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IDM2MDAsXG4gICAgICAgICAgICAgICAgdG9rZW5fdHlwZTogJ0JlYXJlcicsXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdwdWJsaWMtYXBpJyxcbiAgICAgICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldEFsbEl0ZW1zJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIGZldGNoIGFsbCBpdGVtcyB3aXRob3V0IGZpbHRlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtb2NrSXRlbXMgPSB7XG4gICAgICAgICAgICAgICAgZmlyc3Q6IDAsXG4gICAgICAgICAgICAgICAgbGFzdDogMSxcbiAgICAgICAgICAgICAgICByZWNvcmRzQ291bnQ6IDIsXG4gICAgICAgICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbElkOiAnaXRlbS0xJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1OYW1lOiAnVGVzdCBJdGVtIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUNvZGU6ICdUSTAwMScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtRGVzY3JpcHRpb246ICdUZXN0IGRlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lYXN1cmVVbml0SWQ6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWFzdXJlVW5pdE5hbWU6ICdCdWNhdGEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5pdFByaWNlOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXRQZXJjZW50OiAxOSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhdENhdGVnb3J5Q29kZTogJ1MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmF0RXhlbXB0aW9uUmVhc29uOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0OiAxNzAwMDAwMDAwMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0OiAxNzAwMDAwMDAwMDAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLmdldChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2l0ZW1zYClcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwLCBtb2NrSXRlbXMpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBrZWV6QXBpLmdldEFsbEl0ZW1zKCk7XG4gICAgICAgICAgICBleHBlY3QocmVzdWx0LnJlY29yZHNDb3VudCkudG9CZSgyKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQuZGF0YSkudG9IYXZlTGVuZ3RoKDEpO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3VsdC5kYXRhWzBdLml0ZW1OYW1lKS50b0JlKCdUZXN0IEl0ZW0gMScpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnc2hvdWxkIGZldGNoIGl0ZW1zIHdpdGggcGFnaW5hdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vY2tJdGVtcyA9IHtcbiAgICAgICAgICAgICAgICBmaXJzdDogMTAsXG4gICAgICAgICAgICAgICAgbGFzdDogMTksXG4gICAgICAgICAgICAgICAgcmVjb3Jkc0NvdW50OiA1MCxcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIG5vY2soYmFzZURvbWFpbilcbiAgICAgICAgICAgICAgICAuZ2V0KGAvYXBpL3YxLjAvcHVibGljLWFwaS8ke2NsaWVudEVpZH0vaXRlbXNgKVxuICAgICAgICAgICAgICAgIC5xdWVyeSh7IG9mZnNldDogJzEwJywgY291bnQ6ICcxMCcgfSlcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwLCBtb2NrSXRlbXMpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBrZWV6QXBpLmdldEFsbEl0ZW1zKHsgb2Zmc2V0OiAxMCwgY291bnQ6IDEwIH0pO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3VsdC5maXJzdCkudG9CZSgxMCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldEl0ZW1CeUV4dGVybmFsSWQnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgZmV0Y2ggYSBzaW5nbGUgaXRlbSBieSBJRCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vY2tJdGVtID0ge1xuICAgICAgICAgICAgICAgIGV4dGVybmFsSWQ6ICdpdGVtLTEyMycsXG4gICAgICAgICAgICAgICAgaXRlbU5hbWU6ICdUZXN0IEl0ZW0nLFxuICAgICAgICAgICAgICAgIGl0ZW1Db2RlOiAnVEkwMDEnLFxuICAgICAgICAgICAgICAgIGl0ZW1EZXNjcmlwdGlvbjogJ1Rlc3QgZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgIG1lYXN1cmVVbml0SWQ6IDEsXG4gICAgICAgICAgICAgICAgbWVhc3VyZVVuaXROYW1lOiAnQnVjYXRhJyxcbiAgICAgICAgICAgICAgICB1bml0UHJpY2U6IDEwMCxcbiAgICAgICAgICAgICAgICB2YXRQZXJjZW50OiAxOSxcbiAgICAgICAgICAgICAgICB2YXRDYXRlZ29yeUNvZGU6ICdTJyxcbiAgICAgICAgICAgICAgICB2YXRFeGVtcHRpb25SZWFzb246ICcnLFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogMTcwMDAwMDAwMDAwMCxcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6IDE3MDAwMDAwMDAwMDAsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLmdldChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2l0ZW1zL2l0ZW0tMTIzYClcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwLCBtb2NrSXRlbSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGtlZXpBcGkuZ2V0SXRlbUJ5RXh0ZXJuYWxJZCgnaXRlbS0xMjMnKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQuZXh0ZXJuYWxJZCkudG9CZSgnaXRlbS0xMjMnKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQuaXRlbU5hbWUpLnRvQmUoJ1Rlc3QgSXRlbScpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjcmVhdGVJdGVtJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIGNyZWF0ZSBhIG5ldyBpdGVtJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgbm9jayhiYXNlRG9tYWluKVxuICAgICAgICAgICAgICAgIC5wb3N0KGAvYXBpL3YxLjAvcHVibGljLWFwaS8ke2NsaWVudEVpZH0vaXRlbXNgKVxuICAgICAgICAgICAgICAgIC5yZXBseSgyMDEsIHsgZXh0ZXJuYWxJZDogJ25ldy1pdGVtLWlkJyB9KTtcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQga2VlekFwaS5jcmVhdGVJdGVtKHtcbiAgICAgICAgICAgICAgICBpdGVtTmFtZTogJ05ldyBJdGVtJyxcbiAgICAgICAgICAgICAgICBtZWFzdXJlVW5pdElkOiBNZWFzdXJlVW5pdC5QSUVDRSxcbiAgICAgICAgICAgICAgICB1bml0UHJpY2U6IDUwLFxuICAgICAgICAgICAgICAgIHZhdFBlcmNlbnQ6IDE5LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ25ldy1pdGVtLWlkJyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3VwZGF0ZUl0ZW0nLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgdXBkYXRlIGFuIGV4aXN0aW5nIGl0ZW0nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBub2NrKGJhc2VEb21haW4pXG4gICAgICAgICAgICAgICAgLnB1dChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2l0ZW1zL2l0ZW0tMTIzYClcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwKTtcblxuICAgICAgICAgICAgYXdhaXQgZXhwZWN0KGtlZXpBcGkudXBkYXRlSXRlbSgnaXRlbS0xMjMnLCB7XG4gICAgICAgICAgICAgICAgaXRlbU5hbWU6ICdVcGRhdGVkIEl0ZW0nLFxuICAgICAgICAgICAgICAgIG1lYXN1cmVVbml0SWQ6IE1lYXN1cmVVbml0LlBJRUNFLFxuICAgICAgICAgICAgICAgIHVuaXRQcmljZTogNzUsXG4gICAgICAgICAgICAgICAgdmF0UGVyY2VudDogMTksXG4gICAgICAgICAgICB9KSkucmVzb2x2ZXMudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdwYXRjaEl0ZW0nLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgcGFydGlhbGx5IHVwZGF0ZSBhbiBpdGVtJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgbm9jayhiYXNlRG9tYWluKVxuICAgICAgICAgICAgICAgIC5wYXRjaChgL2FwaS92MS4wL3B1YmxpYy1hcGkvJHtjbGllbnRFaWR9L2l0ZW1zL2l0ZW0tMTIzYClcbiAgICAgICAgICAgICAgICAucmVwbHkoMjAwKTtcblxuICAgICAgICAgICAgYXdhaXQgZXhwZWN0KGtlZXpBcGkucGF0Y2hJdGVtKCdpdGVtLTEyMycsIHtcbiAgICAgICAgICAgICAgICB1bml0UHJpY2U6IDgwLFxuICAgICAgICAgICAgfSkpLnJlc29sdmVzLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function jumpToCode(event: any): void;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function addSorting(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AuthResponse } from '../../../src/dto/authResponse';
|
|
2
|
+
/**
|
|
3
|
+
* baseDomain - The base domain for the API
|
|
4
|
+
* appId - The application ID
|
|
5
|
+
* apiSecret - The API secret
|
|
6
|
+
*/
|
|
7
|
+
interface GenerateTokenParams {
|
|
8
|
+
readonly baseDomain: string;
|
|
9
|
+
readonly appId: string;
|
|
10
|
+
readonly apiSecret: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate a token for the Keez API
|
|
14
|
+
* @returns {AuthResponse} - The token response containing the access token and the expiry time
|
|
15
|
+
* @param params - As defined in the interface
|
|
16
|
+
*/
|
|
17
|
+
export declare function apiGenerateToken(params: GenerateTokenParams): Promise<AuthResponse>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface CancelInvoiceParams {
|
|
2
|
+
readonly baseDomain: string;
|
|
3
|
+
readonly appId: string;
|
|
4
|
+
readonly appClientId: string;
|
|
5
|
+
readonly bearerToken: string;
|
|
6
|
+
readonly invoiceId: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function apiCancelInvoice(params: CancelInvoiceParams): Promise<void>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InvoiceRequest } from '../../../../src/dto/createInvoiceRequest';
|
|
2
|
+
/**
|
|
3
|
+
* baseDomain - The base domain for the API
|
|
4
|
+
* appId - The application ID
|
|
5
|
+
* appClientId - The application client ID
|
|
6
|
+
* bearerToken - The bearer token obtained at the authentication stage
|
|
7
|
+
* itemId - The item ID
|
|
8
|
+
*/
|
|
9
|
+
interface CreateInvoiceParams {
|
|
10
|
+
readonly baseDomain: string;
|
|
11
|
+
readonly appId: string;
|
|
12
|
+
readonly appClientId: string;
|
|
13
|
+
readonly bearerToken: string;
|
|
14
|
+
readonly invoice: InvoiceRequest;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create an invoice
|
|
18
|
+
* @param params as defined in the interface
|
|
19
|
+
* @returns {Promise<string>} - The external ID of the created invoice
|
|
20
|
+
*/
|
|
21
|
+
export declare function apiCreateInvoice(params: CreateInvoiceParams): Promise<string>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface DeleteInvoiceParams {
|
|
2
|
+
readonly baseDomain: string;
|
|
3
|
+
readonly appId: string;
|
|
4
|
+
readonly appClientId: string;
|
|
5
|
+
readonly bearerToken: string;
|
|
6
|
+
readonly invoiceId: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function apiDeleteInvoice(params: DeleteInvoiceParams): Promise<void>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AllInvoicesResponse } from '../../../../src/dto/allInvoicesResponse';
|
|
2
|
+
import { InvoiceFilterParams } from '../../../../src/dto/invoices';
|
|
3
|
+
/**
|
|
4
|
+
* baseDomain - The base domain for the API
|
|
5
|
+
* appId - The application ID
|
|
6
|
+
* appClientId - The application client ID
|
|
7
|
+
* bearerToken - The bearer token obtained at the authentication stage
|
|
8
|
+
* filterParams - Optional filter parameters
|
|
9
|
+
*/
|
|
10
|
+
interface GetAllInvoicesParams {
|
|
11
|
+
readonly baseDomain: string;
|
|
12
|
+
readonly appId: string;
|
|
13
|
+
readonly appClientId: string;
|
|
14
|
+
readonly bearerToken: string;
|
|
15
|
+
readonly filterParams?: InvoiceFilterParams;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get all invoices
|
|
19
|
+
* @param params - As defined in the interface
|
|
20
|
+
*/
|
|
21
|
+
export declare function apiGetAllInvoices(params: GetAllInvoicesParams): Promise<AllInvoicesResponse>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SendInvoiceEmailParams } from '../../../../src/dto/invoices';
|
|
2
|
+
/**
|
|
3
|
+
* appId - The application ID
|
|
4
|
+
* baseDomain - The base domain for the API
|
|
5
|
+
* bearerToken - The bearer token obtained at the authentication stage
|
|
6
|
+
* clientMail - The client email (for backward compatibility)
|
|
7
|
+
* emailParams - Extended email parameters with CC/BCC support
|
|
8
|
+
* invoiceId - The invoice ID
|
|
9
|
+
*/
|
|
10
|
+
interface SendInvoiceParams {
|
|
11
|
+
readonly appId: string;
|
|
12
|
+
readonly baseDomain: string;
|
|
13
|
+
readonly bearerToken: string;
|
|
14
|
+
readonly clientMail?: string;
|
|
15
|
+
readonly emailParams?: SendInvoiceEmailParams;
|
|
16
|
+
readonly invoiceId: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Send an invoice by external ID
|
|
20
|
+
* @param params - as defined in the interface
|
|
21
|
+
* @returns {Promise<string>} - Returns 'SENT' on success
|
|
22
|
+
*/
|
|
23
|
+
export declare function apiSendInvoice(params: SendInvoiceParams): Promise<string>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface SubmitEfacturaParams {
|
|
2
|
+
readonly baseDomain: string;
|
|
3
|
+
readonly appId: string;
|
|
4
|
+
readonly appClientId: string;
|
|
5
|
+
readonly bearerToken: string;
|
|
6
|
+
readonly invoiceId: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function apiSubmitEfactura(params: SubmitEfacturaParams): Promise<string>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InvoiceRequestV2 } from '../../../../src/dto/invoices';
|
|
2
|
+
interface UpdateInvoiceParams {
|
|
3
|
+
readonly baseDomain: string;
|
|
4
|
+
readonly appId: string;
|
|
5
|
+
readonly appClientId: string;
|
|
6
|
+
readonly bearerToken: string;
|
|
7
|
+
readonly invoiceId: string;
|
|
8
|
+
readonly invoice: InvoiceRequestV2;
|
|
9
|
+
}
|
|
10
|
+
export declare function apiUpdateInvoice(params: UpdateInvoiceParams): Promise<void>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* appId - The application ID
|
|
3
|
+
* appClientId - The application client ID
|
|
4
|
+
* baseDomain - The base domain for the API
|
|
5
|
+
* bearerToken - The bearer token obtained at the authentication stage
|
|
6
|
+
* invoiceId - The invoice ID
|
|
7
|
+
*/
|
|
8
|
+
interface ValidateInvoiceParams {
|
|
9
|
+
readonly appId: string;
|
|
10
|
+
readonly appClientId: string;
|
|
11
|
+
readonly baseDomain: string;
|
|
12
|
+
readonly bearerToken: string;
|
|
13
|
+
readonly invoiceId: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Validate an invoice by external ID
|
|
17
|
+
* @param params - as defined in the interface
|
|
18
|
+
* @returns {Promise<string>} - Returns 'VALIDATED' on success
|
|
19
|
+
*/
|
|
20
|
+
export declare function apiValidateInvoice(params: ValidateInvoiceParams): Promise<string>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InvoiceResponse } from '../../../../src/dto/invoiceResponse';
|
|
2
|
+
/**
|
|
3
|
+
* baseDomain - The base domain for the API
|
|
4
|
+
* appId - The application ID
|
|
5
|
+
* appClientId - The application client ID
|
|
6
|
+
* bearerToken - The bearer token obtained at the authentication stage
|
|
7
|
+
* invoiceId - The invoice ID
|
|
8
|
+
*/
|
|
9
|
+
interface ViewInvoiceParams {
|
|
10
|
+
readonly baseDomain: string;
|
|
11
|
+
readonly appId: string;
|
|
12
|
+
readonly appClientId: string;
|
|
13
|
+
readonly bearerToken: string;
|
|
14
|
+
readonly invoiceId: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get an invoice by external ID
|
|
18
|
+
* @param params as defined in the interface
|
|
19
|
+
* @returns {Promise<InvoiceResponse>} - The invoice details
|
|
20
|
+
*/
|
|
21
|
+
export declare function apiGetInvoiceByExternalId(params: ViewInvoiceParams): Promise<InvoiceResponse>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CreateItemRequest } from '../../../../src/dto/items';
|
|
2
|
+
interface CreateItemParams {
|
|
3
|
+
readonly baseDomain: string;
|
|
4
|
+
readonly appId: string;
|
|
5
|
+
readonly appClientId: string;
|
|
6
|
+
readonly bearerToken: string;
|
|
7
|
+
readonly item: CreateItemRequest;
|
|
8
|
+
}
|
|
9
|
+
export declare function apiCreateItem(params: CreateItemParams): Promise<string>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AllItemsResponse, ItemFilterParams } from '../../../../src/dto/items';
|
|
2
|
+
interface GetAllItemsParams {
|
|
3
|
+
readonly baseDomain: string;
|
|
4
|
+
readonly appId: string;
|
|
5
|
+
readonly appClientId: string;
|
|
6
|
+
readonly bearerToken: string;
|
|
7
|
+
readonly filterParams?: ItemFilterParams;
|
|
8
|
+
}
|
|
9
|
+
export declare function apiGetAllItems(params: GetAllItemsParams): Promise<AllItemsResponse>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ItemResponse } from '../../../../src/dto/items';
|
|
2
|
+
interface GetItemByIdParams {
|
|
3
|
+
readonly baseDomain: string;
|
|
4
|
+
readonly appId: string;
|
|
5
|
+
readonly appClientId: string;
|
|
6
|
+
readonly bearerToken: string;
|
|
7
|
+
readonly itemId: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function apiGetItemById(params: GetItemByIdParams): Promise<ItemResponse>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PatchItemRequest } from '../../../../src/dto/items';
|
|
2
|
+
interface PatchItemParams {
|
|
3
|
+
readonly baseDomain: string;
|
|
4
|
+
readonly appId: string;
|
|
5
|
+
readonly appClientId: string;
|
|
6
|
+
readonly bearerToken: string;
|
|
7
|
+
readonly itemId: string;
|
|
8
|
+
readonly item: PatchItemRequest;
|
|
9
|
+
}
|
|
10
|
+
export declare function apiPatchItem(params: PatchItemParams): Promise<void>;
|
|
11
|
+
export {};
|