kitsas-library 0.1.14 → 0.1.15
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/README.md +2 -2
- package/lib/main/interfaces/kitsasbook.interface.d.ts +2 -1
- package/lib/main/moc/mockitsasbook.d.ts +2 -1
- package/lib/main/moc/mockitsasbook.js +5 -1
- package/lib/main/services/kitsasbook.d.ts +2 -1
- package/lib/main/services/kitsasbook.js +11 -1
- package/lib/main/types/index.d.ts +1 -0
- package/lib/main/types/index.js +2 -1
- package/lib/main/types/voucher.d.ts +55 -0
- package/lib/main/types/voucher.js +26 -0
- package/lib/module/interfaces/kitsasbook.interface.d.ts +2 -1
- package/lib/module/moc/mockitsasbook.d.ts +2 -1
- package/lib/module/moc/mockitsasbook.js +5 -1
- package/lib/module/services/kitsasbook.d.ts +2 -1
- package/lib/module/services/kitsasbook.js +11 -1
- package/lib/module/types/index.d.ts +1 -0
- package/lib/module/types/index.js +2 -1
- package/lib/module/types/voucher.d.ts +55 -0
- package/lib/module/types/voucher.js +23 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -51,6 +51,6 @@ const book = await connection.getBook('92e71a5d-1c33-4cc9-aa83-281c05c8e4c2');
|
|
|
51
51
|
### Create and save a new document
|
|
52
52
|
|
|
53
53
|
```typescript
|
|
54
|
-
const document =
|
|
55
|
-
await
|
|
54
|
+
const document : CreateVoucherDto = { ... } ;
|
|
55
|
+
await book.saveVoucher(document, []);
|
|
56
56
|
```
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Account, FiscalYear } from '../types';
|
|
1
|
+
import { Account, AttachmentDto, CreateVoucherDto, FiscalYear } from '../types';
|
|
2
2
|
export interface KitsasBookInterface {
|
|
3
3
|
getBookId(): string;
|
|
4
4
|
getAccounts(): Promise<Account[]>;
|
|
5
5
|
getFiscalYears(): Promise<FiscalYear[]>;
|
|
6
|
+
saveVoucher(voucher: CreateVoucherDto, attachments: AttachmentDto[]): Promise<string>;
|
|
6
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { KitsasBookInterface } from '../interfaces/kitsasbook.interface';
|
|
2
|
-
import { Account, FiscalYear } from '../types';
|
|
2
|
+
import { Account, CreateVoucherDto, FiscalYear } from '../types';
|
|
3
3
|
export declare class MockKitsasBook implements KitsasBookInterface {
|
|
4
4
|
constructor(id: string);
|
|
5
|
+
saveVoucher(_voucher: CreateVoucherDto): Promise<string>;
|
|
5
6
|
private bookId;
|
|
6
7
|
getBookId(): string;
|
|
7
8
|
getAccounts(): Promise<Account[]>;
|
|
@@ -5,6 +5,10 @@ class MockKitsasBook {
|
|
|
5
5
|
constructor(id) {
|
|
6
6
|
this.bookId = id;
|
|
7
7
|
}
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
+
saveVoucher(_voucher) {
|
|
10
|
+
return Promise.resolve('fb6a9d86-278d-4f69-8887-b4f0b587a7cd');
|
|
11
|
+
}
|
|
8
12
|
getBookId() {
|
|
9
13
|
return this.bookId;
|
|
10
14
|
}
|
|
@@ -38,4 +42,4 @@ class MockKitsasBook {
|
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
exports.MockKitsasBook = MockKitsasBook;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja2l0c2FzYm9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2MvbW9ja2l0c2FzYm9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFhLGNBQWM7SUFDekIsWUFBWSxFQUFVO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsV0FBVyxDQUFDLFFBQTBCO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFJRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO2dCQUN0RCxRQUFRLEVBQUUsR0FBRzthQUNkO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsR0FBRztnQkFDUCxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUNqQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ2hDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLEdBQUc7Z0JBQ1AsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDakMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNoQztZQUNEO2dCQUNFLEVBQUUsRUFBRSxHQUFHO2dCQUNQLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDaEM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNUNELHdDQTRDQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { KitsasBookInterface } from '../interfaces/kitsasbook.interface';
|
|
3
|
-
import { Account, FiscalYear } from '../types';
|
|
3
|
+
import { Account, AttachmentDto, CreateVoucherDto, FiscalYear } from '../types';
|
|
4
4
|
import { KitsasConnection } from './kitsasconnection';
|
|
5
5
|
export declare class KitsasBook implements KitsasBookInterface {
|
|
6
6
|
constructor(connection: KitsasConnection, token: string, bookId: string);
|
|
@@ -11,4 +11,5 @@ export declare class KitsasBook implements KitsasBookInterface {
|
|
|
11
11
|
getBookId(): string;
|
|
12
12
|
getAccounts(): Promise<Account[]>;
|
|
13
13
|
getFiscalYears(): Promise<FiscalYear[]>;
|
|
14
|
+
saveVoucher(voucher: CreateVoucherDto, attachments: AttachmentDto[]): Promise<string>;
|
|
14
15
|
}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.KitsasBook = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
8
9
|
class KitsasBook {
|
|
9
10
|
constructor(connection, token, bookId) {
|
|
10
11
|
this.connection = connection;
|
|
@@ -32,6 +33,15 @@ class KitsasBook {
|
|
|
32
33
|
const { data } = await axios_1.default.get('/v1/fiscalyears', await this.getConfig());
|
|
33
34
|
return data;
|
|
34
35
|
}
|
|
36
|
+
async saveVoucher(voucher, attachments) {
|
|
37
|
+
const form = new form_data_1.default();
|
|
38
|
+
form.append('voucher', JSON.stringify(voucher));
|
|
39
|
+
for (const attachment of attachments) {
|
|
40
|
+
form.append('attachments', attachment.content, attachment.fileName);
|
|
41
|
+
}
|
|
42
|
+
const { data } = await axios_1.default.post('/v1/vouchers', form, await this.getConfig());
|
|
43
|
+
return data.id;
|
|
44
|
+
}
|
|
35
45
|
}
|
|
36
46
|
exports.KitsasBook = KitsasBook;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2FzYm9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUFrRDtBQUNsRCwwREFBaUM7QUFhakMsTUFBYSxVQUFVO0lBQ3JCLFlBQVksVUFBNEIsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBTUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLE1BQU0sR0FBdUI7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO1lBQ3JDLE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hDLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDdEM7U0FDRixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FDOUIsY0FBYyxFQUNkLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FDOUIsaUJBQWlCLEVBQ2pCLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixPQUF5QixFQUN6QixXQUE0QjtRQUU1QixNQUFNLElBQUksR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEQsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckU7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxlQUFLLENBQUMsSUFBSSxDQUMvQixjQUFjLEVBQ2QsSUFBSSxFQUNKLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQTNERCxnQ0EyREMifQ==
|
package/lib/main/types/index.js
CHANGED
|
@@ -23,4 +23,5 @@ __exportStar(require("./addon"), exports);
|
|
|
23
23
|
__exportStar(require("./notification"), exports);
|
|
24
24
|
__exportStar(require("./fiscalyear"), exports);
|
|
25
25
|
__exportStar(require("./account"), exports);
|
|
26
|
-
|
|
26
|
+
__exportStar(require("./voucher"), exports);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUEwQztBQUMxQyw2Q0FBMkI7QUFDM0IsMkNBQXlCO0FBQ3pCLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsMENBQXdCO0FBQ3hCLGlEQUErQjtBQUMvQiwrQ0FBNkI7QUFDN0IsNENBQTBCO0FBQzFCLDRDQUEwQiJ9
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare enum VoucherType {
|
|
3
|
+
INCOME = "INCOME",
|
|
4
|
+
EXPENSE = "EXPENSE",
|
|
5
|
+
BILLOFCOSTS = "BILLOFCOSTS"
|
|
6
|
+
}
|
|
7
|
+
export declare enum VoucherStatus {
|
|
8
|
+
RECEIVED = "RECEIVED",
|
|
9
|
+
CHECKED = "CHECKED",
|
|
10
|
+
APPROVED = "APPROVED",
|
|
11
|
+
DRAFT = "DRAFT",
|
|
12
|
+
BOOKED = "BOOKED"
|
|
13
|
+
}
|
|
14
|
+
export declare enum EntryVatCode {
|
|
15
|
+
FREE = "FREE",
|
|
16
|
+
ZERO = "ZERO",
|
|
17
|
+
EXCLUDED = "EXCLUDED",
|
|
18
|
+
INCLUDED = "INCLUDED",
|
|
19
|
+
MARGINAL = "MARGINAL"
|
|
20
|
+
}
|
|
21
|
+
export interface CreateVoucherEntryDto {
|
|
22
|
+
date?: string;
|
|
23
|
+
account: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
amount: string;
|
|
26
|
+
vatPercent?: number;
|
|
27
|
+
vatCode?: EntryVatCode;
|
|
28
|
+
}
|
|
29
|
+
export interface CreateVoucherContraEntryDto {
|
|
30
|
+
account: string;
|
|
31
|
+
newBalanceItem?: boolean;
|
|
32
|
+
archiveId?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CreateVoucherPartnerDto {
|
|
35
|
+
name: string;
|
|
36
|
+
registryCode?: string;
|
|
37
|
+
iban?: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface CreateVoucherDto {
|
|
40
|
+
type: VoucherType;
|
|
41
|
+
date: string;
|
|
42
|
+
title?: string;
|
|
43
|
+
status: VoucherStatus;
|
|
44
|
+
entries: CreateVoucherEntryDto[];
|
|
45
|
+
contraEntry: CreateVoucherContraEntryDto;
|
|
46
|
+
partner?: CreateVoucherPartnerDto;
|
|
47
|
+
}
|
|
48
|
+
export interface CreateVoucherResponseDto {
|
|
49
|
+
id: string;
|
|
50
|
+
data: object;
|
|
51
|
+
}
|
|
52
|
+
export interface AttachmentDto {
|
|
53
|
+
fileName: string;
|
|
54
|
+
content: Buffer;
|
|
55
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntryVatCode = exports.VoucherStatus = exports.VoucherType = void 0;
|
|
4
|
+
var VoucherType;
|
|
5
|
+
(function (VoucherType) {
|
|
6
|
+
VoucherType["INCOME"] = "INCOME";
|
|
7
|
+
VoucherType["EXPENSE"] = "EXPENSE";
|
|
8
|
+
VoucherType["BILLOFCOSTS"] = "BILLOFCOSTS";
|
|
9
|
+
})(VoucherType = exports.VoucherType || (exports.VoucherType = {}));
|
|
10
|
+
var VoucherStatus;
|
|
11
|
+
(function (VoucherStatus) {
|
|
12
|
+
VoucherStatus["RECEIVED"] = "RECEIVED";
|
|
13
|
+
VoucherStatus["CHECKED"] = "CHECKED";
|
|
14
|
+
VoucherStatus["APPROVED"] = "APPROVED";
|
|
15
|
+
VoucherStatus["DRAFT"] = "DRAFT";
|
|
16
|
+
VoucherStatus["BOOKED"] = "BOOKED";
|
|
17
|
+
})(VoucherStatus = exports.VoucherStatus || (exports.VoucherStatus = {}));
|
|
18
|
+
var EntryVatCode;
|
|
19
|
+
(function (EntryVatCode) {
|
|
20
|
+
EntryVatCode["FREE"] = "FREE";
|
|
21
|
+
EntryVatCode["ZERO"] = "ZERO";
|
|
22
|
+
EntryVatCode["EXCLUDED"] = "EXCLUDED";
|
|
23
|
+
EntryVatCode["INCLUDED"] = "INCLUDED";
|
|
24
|
+
EntryVatCode["MARGINAL"] = "MARGINAL";
|
|
25
|
+
})(EntryVatCode = exports.EntryVatCode || (exports.EntryVatCode = {}));
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm91Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy92b3VjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFJdEI7QUFFRCxJQUFZLGFBTVg7QUFORCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsb0NBQW1CLENBQUE7SUFDbkIsc0NBQXFCLENBQUE7SUFDckIsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFOVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQU14QjtBQUVELElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsNkJBQWEsQ0FBQTtJQUNiLHFDQUFxQixDQUFBO0lBQ3JCLHFDQUFxQixDQUFBO0lBQ3JCLHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQU12QiJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Account, FiscalYear } from '../types';
|
|
1
|
+
import { Account, AttachmentDto, CreateVoucherDto, FiscalYear } from '../types';
|
|
2
2
|
export interface KitsasBookInterface {
|
|
3
3
|
getBookId(): string;
|
|
4
4
|
getAccounts(): Promise<Account[]>;
|
|
5
5
|
getFiscalYears(): Promise<FiscalYear[]>;
|
|
6
|
+
saveVoucher(voucher: CreateVoucherDto, attachments: AttachmentDto[]): Promise<string>;
|
|
6
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { KitsasBookInterface } from '../interfaces/kitsasbook.interface';
|
|
2
|
-
import { Account, FiscalYear } from '../types';
|
|
2
|
+
import { Account, CreateVoucherDto, FiscalYear } from '../types';
|
|
3
3
|
export declare class MockKitsasBook implements KitsasBookInterface {
|
|
4
4
|
constructor(id: string);
|
|
5
|
+
saveVoucher(_voucher: CreateVoucherDto): Promise<string>;
|
|
5
6
|
private bookId;
|
|
6
7
|
getBookId(): string;
|
|
7
8
|
getAccounts(): Promise<Account[]>;
|
|
@@ -2,6 +2,10 @@ export class MockKitsasBook {
|
|
|
2
2
|
constructor(id) {
|
|
3
3
|
this.bookId = id;
|
|
4
4
|
}
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
+
saveVoucher(_voucher) {
|
|
7
|
+
return Promise.resolve('fb6a9d86-278d-4f69-8887-b4f0b587a7cd');
|
|
8
|
+
}
|
|
5
9
|
bookId;
|
|
6
10
|
getBookId() {
|
|
7
11
|
return this.bookId;
|
|
@@ -35,4 +39,4 @@ export class MockKitsasBook {
|
|
|
35
39
|
];
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja2l0c2FzYm9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2MvbW9ja2l0c2FzYm9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFZLEVBQVU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELDZEQUE2RDtJQUM3RCxXQUFXLENBQUMsUUFBMEI7UUFDcEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLE1BQU0sQ0FBUztJQUV2QixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO2dCQUN0RCxRQUFRLEVBQUUsR0FBRzthQUNkO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsR0FBRztnQkFDUCxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUNqQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ2hDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLEdBQUc7Z0JBQ1AsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDakMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNoQztZQUNEO2dCQUNFLEVBQUUsRUFBRSxHQUFHO2dCQUNQLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDaEM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { KitsasBookInterface } from '../interfaces/kitsasbook.interface';
|
|
3
|
-
import { Account, FiscalYear } from '../types';
|
|
3
|
+
import { Account, AttachmentDto, CreateVoucherDto, FiscalYear } from '../types';
|
|
4
4
|
import { KitsasConnection } from './kitsasconnection';
|
|
5
5
|
export declare class KitsasBook implements KitsasBookInterface {
|
|
6
6
|
constructor(connection: KitsasConnection, token: string, bookId: string);
|
|
@@ -11,4 +11,5 @@ export declare class KitsasBook implements KitsasBookInterface {
|
|
|
11
11
|
getBookId(): string;
|
|
12
12
|
getAccounts(): Promise<Account[]>;
|
|
13
13
|
getFiscalYears(): Promise<FiscalYear[]>;
|
|
14
|
+
saveVoucher(voucher: CreateVoucherDto, attachments: AttachmentDto[]): Promise<string>;
|
|
14
15
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
+
import FormData from 'form-data';
|
|
2
3
|
export class KitsasBook {
|
|
3
4
|
constructor(connection, token, bookId) {
|
|
4
5
|
this.connection = connection;
|
|
@@ -29,5 +30,14 @@ export class KitsasBook {
|
|
|
29
30
|
const { data } = await axios.get('/v1/fiscalyears', await this.getConfig());
|
|
30
31
|
return data;
|
|
31
32
|
}
|
|
33
|
+
async saveVoucher(voucher, attachments) {
|
|
34
|
+
const form = new FormData();
|
|
35
|
+
form.append('voucher', JSON.stringify(voucher));
|
|
36
|
+
for (const attachment of attachments) {
|
|
37
|
+
form.append('attachments', attachment.content, attachment.fileName);
|
|
38
|
+
}
|
|
39
|
+
const { data } = await axios.post('/v1/vouchers', form, await this.getConfig());
|
|
40
|
+
return data.id;
|
|
41
|
+
}
|
|
32
42
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2FzYm9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBNkIsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBYWpDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQVksVUFBNEIsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVSxDQUFtQjtJQUM3QixLQUFLLENBQVM7SUFDZCxNQUFNLENBQVM7SUFFdkIsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLE1BQU0sR0FBdUI7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO1lBQ3JDLE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hDLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDdEM7U0FDRixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FDOUIsY0FBYyxFQUNkLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FDOUIsaUJBQWlCLEVBQ2pCLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixPQUF5QixFQUN6QixXQUE0QjtRQUU1QixNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNoRCxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRTtRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQy9CLGNBQWMsRUFDZCxJQUFJLEVBQ0osTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQ3ZCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIn0=
|
|
@@ -7,4 +7,5 @@ export * from './addon';
|
|
|
7
7
|
export * from './notification';
|
|
8
8
|
export * from './fiscalyear';
|
|
9
9
|
export * from './account';
|
|
10
|
-
|
|
10
|
+
export * from './voucher';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDIn0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare enum VoucherType {
|
|
3
|
+
INCOME = "INCOME",
|
|
4
|
+
EXPENSE = "EXPENSE",
|
|
5
|
+
BILLOFCOSTS = "BILLOFCOSTS"
|
|
6
|
+
}
|
|
7
|
+
export declare enum VoucherStatus {
|
|
8
|
+
RECEIVED = "RECEIVED",
|
|
9
|
+
CHECKED = "CHECKED",
|
|
10
|
+
APPROVED = "APPROVED",
|
|
11
|
+
DRAFT = "DRAFT",
|
|
12
|
+
BOOKED = "BOOKED"
|
|
13
|
+
}
|
|
14
|
+
export declare enum EntryVatCode {
|
|
15
|
+
FREE = "FREE",
|
|
16
|
+
ZERO = "ZERO",
|
|
17
|
+
EXCLUDED = "EXCLUDED",
|
|
18
|
+
INCLUDED = "INCLUDED",
|
|
19
|
+
MARGINAL = "MARGINAL"
|
|
20
|
+
}
|
|
21
|
+
export interface CreateVoucherEntryDto {
|
|
22
|
+
date?: string;
|
|
23
|
+
account: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
amount: string;
|
|
26
|
+
vatPercent?: number;
|
|
27
|
+
vatCode?: EntryVatCode;
|
|
28
|
+
}
|
|
29
|
+
export interface CreateVoucherContraEntryDto {
|
|
30
|
+
account: string;
|
|
31
|
+
newBalanceItem?: boolean;
|
|
32
|
+
archiveId?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CreateVoucherPartnerDto {
|
|
35
|
+
name: string;
|
|
36
|
+
registryCode?: string;
|
|
37
|
+
iban?: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface CreateVoucherDto {
|
|
40
|
+
type: VoucherType;
|
|
41
|
+
date: string;
|
|
42
|
+
title?: string;
|
|
43
|
+
status: VoucherStatus;
|
|
44
|
+
entries: CreateVoucherEntryDto[];
|
|
45
|
+
contraEntry: CreateVoucherContraEntryDto;
|
|
46
|
+
partner?: CreateVoucherPartnerDto;
|
|
47
|
+
}
|
|
48
|
+
export interface CreateVoucherResponseDto {
|
|
49
|
+
id: string;
|
|
50
|
+
data: object;
|
|
51
|
+
}
|
|
52
|
+
export interface AttachmentDto {
|
|
53
|
+
fileName: string;
|
|
54
|
+
content: Buffer;
|
|
55
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export var VoucherType;
|
|
2
|
+
(function (VoucherType) {
|
|
3
|
+
VoucherType["INCOME"] = "INCOME";
|
|
4
|
+
VoucherType["EXPENSE"] = "EXPENSE";
|
|
5
|
+
VoucherType["BILLOFCOSTS"] = "BILLOFCOSTS";
|
|
6
|
+
})(VoucherType || (VoucherType = {}));
|
|
7
|
+
export var VoucherStatus;
|
|
8
|
+
(function (VoucherStatus) {
|
|
9
|
+
VoucherStatus["RECEIVED"] = "RECEIVED";
|
|
10
|
+
VoucherStatus["CHECKED"] = "CHECKED";
|
|
11
|
+
VoucherStatus["APPROVED"] = "APPROVED";
|
|
12
|
+
VoucherStatus["DRAFT"] = "DRAFT";
|
|
13
|
+
VoucherStatus["BOOKED"] = "BOOKED";
|
|
14
|
+
})(VoucherStatus || (VoucherStatus = {}));
|
|
15
|
+
export var EntryVatCode;
|
|
16
|
+
(function (EntryVatCode) {
|
|
17
|
+
EntryVatCode["FREE"] = "FREE";
|
|
18
|
+
EntryVatCode["ZERO"] = "ZERO";
|
|
19
|
+
EntryVatCode["EXCLUDED"] = "EXCLUDED";
|
|
20
|
+
EntryVatCode["INCLUDED"] = "INCLUDED";
|
|
21
|
+
EntryVatCode["MARGINAL"] = "MARGINAL";
|
|
22
|
+
})(EntryVatCode || (EntryVatCode = {}));
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm91Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy92b3VjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsa0NBQW1CLENBQUE7SUFDbkIsMENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQixvQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQU5XLGFBQWEsS0FBYixhQUFhLFFBTXhCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsNkJBQWEsQ0FBQTtJQUNiLHFDQUFxQixDQUFBO0lBQ3JCLHFDQUFxQixDQUFBO0lBQ3JCLHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QiJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kitsas-library",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "KitsasHub Client Library",
|
|
5
5
|
"main": "lib/main/index.js",
|
|
6
6
|
"typings": "lib/main/index.d.ts",
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
]
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"axios": "^1.5.1"
|
|
90
|
+
"axios": "^1.5.1",
|
|
91
|
+
"form-data": "^4.0.0"
|
|
91
92
|
}
|
|
92
93
|
}
|