kitsas-library 0.1.3 → 0.1.6
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/lib/main/interfaces/kitsasconnection.interface.d.ts +23 -0
- package/lib/main/moc/MockKitsasConnection.d.ts +6 -0
- package/lib/main/moc/MockKitsasConnection.js +112 -1
- package/lib/main/services/kitsasconnection.d.ts +6 -0
- package/lib/main/services/kitsasconnection.js +37 -1
- package/lib/main/services/kitsasservice.js +7 -3
- package/lib/main/types/books.d.ts +19 -0
- package/lib/main/types/books.js +3 -0
- package/lib/main/types/office.d.ts +41 -0
- package/lib/main/types/office.js +3 -0
- package/lib/module/interfaces/kitsasconnection.interface.d.ts +23 -0
- package/lib/module/moc/MockKitsasConnection.d.ts +6 -0
- package/lib/module/moc/MockKitsasConnection.js +112 -1
- package/lib/module/services/kitsasconnection.d.ts +6 -0
- package/lib/module/services/kitsasconnection.js +37 -1
- package/lib/module/services/kitsasservice.js +7 -3
- package/lib/module/types/books.d.ts +19 -0
- package/lib/module/types/books.js +2 -0
- package/lib/module/types/office.d.ts +41 -0
- package/lib/module/types/office.js +2 -0
- package/package.json +1 -1
|
@@ -1,7 +1,30 @@
|
|
|
1
|
+
import { BookList } from '../types/books';
|
|
2
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
1
3
|
export interface KitsasConnectionInterface {
|
|
2
4
|
/**
|
|
3
5
|
* Get current user's name
|
|
4
6
|
* @returns User's name
|
|
5
7
|
*/
|
|
6
8
|
getName(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Get list of offices
|
|
11
|
+
* @returns List of offices
|
|
12
|
+
*/
|
|
13
|
+
getOffices(): Promise<OfficeList[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get office information
|
|
16
|
+
* @param id Office id
|
|
17
|
+
*/
|
|
18
|
+
getOffice(id: string): Promise<Office>;
|
|
19
|
+
/**
|
|
20
|
+
* Get list of books
|
|
21
|
+
* @param target Office, user or bookshelf id
|
|
22
|
+
* @returns List of books
|
|
23
|
+
*/
|
|
24
|
+
getBooks(target?: string): Promise<BookList[]>;
|
|
25
|
+
/**
|
|
26
|
+
* List users and their roles
|
|
27
|
+
* @param target Office, bookshelf or book id
|
|
28
|
+
*/
|
|
29
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
7
30
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { KitsasConnectionInterface } from '../interfaces';
|
|
2
2
|
import { AuthResponse } from '../types/authresponse';
|
|
3
|
+
import { BookList } from '../types/books';
|
|
4
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
3
5
|
export declare class MockKitsasConnection implements KitsasConnectionInterface {
|
|
4
6
|
constructor(response: AuthResponse);
|
|
5
7
|
getName(): string;
|
|
8
|
+
getOffices(): Promise<OfficeList[]>;
|
|
9
|
+
getOffice(id: string): Promise<Office>;
|
|
10
|
+
getBooks(target: string): Promise<BookList[]>;
|
|
11
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
6
12
|
private name;
|
|
7
13
|
}
|
|
@@ -8,6 +8,117 @@ class MockKitsasConnection {
|
|
|
8
8
|
getName() {
|
|
9
9
|
return this.name;
|
|
10
10
|
}
|
|
11
|
+
getOffices() {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
resolve([
|
|
14
|
+
{
|
|
15
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
16
|
+
name: 'Test Office',
|
|
17
|
+
businessId: '1234567-8',
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
getOffice(id) {
|
|
23
|
+
if (id !== '1dcb9463-829f-4369-9861-ae2ce7041f03')
|
|
24
|
+
throw Error('Error getting office');
|
|
25
|
+
return new Promise((resolve) => {
|
|
26
|
+
resolve({
|
|
27
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
28
|
+
name: 'Test Office',
|
|
29
|
+
created: new Date(),
|
|
30
|
+
businessId: '1234567-8',
|
|
31
|
+
officeType: 'KITSASPRO',
|
|
32
|
+
roles: [
|
|
33
|
+
{
|
|
34
|
+
id: '5859954a-3cf9-48cb-a328-203548b5c90e',
|
|
35
|
+
name: {
|
|
36
|
+
fi: 'Test Role',
|
|
37
|
+
},
|
|
38
|
+
rights: ['Ts', 'Tl'],
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
bookshelves: [
|
|
42
|
+
{
|
|
43
|
+
id: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
44
|
+
name: 'Test Bookshelf',
|
|
45
|
+
path: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getBooks(target) {
|
|
52
|
+
if (target) {
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
resolve([
|
|
55
|
+
{
|
|
56
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
57
|
+
name: 'Test Book',
|
|
58
|
+
businessId: '1234567-8',
|
|
59
|
+
group: {
|
|
60
|
+
id: target,
|
|
61
|
+
name: 'Test Bookshelf',
|
|
62
|
+
type: 'BOOKSHELF',
|
|
63
|
+
},
|
|
64
|
+
created: new Date('2023-01-01'),
|
|
65
|
+
modified: new Date('2023-09-05'),
|
|
66
|
+
documentCount: 0,
|
|
67
|
+
backend: 'KITSAS',
|
|
68
|
+
vat: {
|
|
69
|
+
dueDate: new Date('2023-10-12'),
|
|
70
|
+
returnedUntil: new Date('2023-08-31'),
|
|
71
|
+
period: 1,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return new Promise((resolve) => {
|
|
78
|
+
resolve([
|
|
79
|
+
{
|
|
80
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
81
|
+
name: 'Test Book',
|
|
82
|
+
businessId: '1234567-8',
|
|
83
|
+
group: {
|
|
84
|
+
id: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
85
|
+
name: 'Test User',
|
|
86
|
+
type: 'USER',
|
|
87
|
+
},
|
|
88
|
+
created: new Date('2023-01-01'),
|
|
89
|
+
modified: new Date('2023-09-05'),
|
|
90
|
+
documentCount: 0,
|
|
91
|
+
backend: 'KITSAS',
|
|
92
|
+
vat: {
|
|
93
|
+
dueDate: new Date('2023-10-12'),
|
|
94
|
+
returnedUntil: new Date('2023-08-31'),
|
|
95
|
+
period: 1,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
]);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getPermissions(target) {
|
|
102
|
+
if (target !== '1dcb9463-829f-4369-9861-ae2ce7041f03')
|
|
103
|
+
throw Error('Error getting users');
|
|
104
|
+
return new Promise((resolve) => {
|
|
105
|
+
resolve([
|
|
106
|
+
{
|
|
107
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
108
|
+
name: 'Test User',
|
|
109
|
+
targets: [
|
|
110
|
+
{
|
|
111
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
112
|
+
name: 'Test Office',
|
|
113
|
+
type: 'OFFICE',
|
|
114
|
+
rights: ['Ts', 'Tl'],
|
|
115
|
+
roles: ['5859954a-3cf9-48cb-a328-203548b5c90e'],
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
]);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
11
122
|
}
|
|
12
123
|
exports.MockKitsasConnection = MockKitsasConnection;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja0tpdHNhc0Nvbm5lY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9jL01vY2tLaXRzYXNDb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQWEsb0JBQW9CO0lBQy9CLFlBQVksUUFBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLE9BQU8sQ0FBQztnQkFDTjtvQkFDRSxFQUFFLEVBQUUsc0NBQXNDO29CQUMxQyxJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLFdBQVc7aUJBQ3hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxFQUFFLEtBQUssc0NBQXNDO1lBQy9DLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLE9BQU8sQ0FBQztnQkFDTixFQUFFLEVBQUUsc0NBQXNDO2dCQUMxQyxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFO2dCQUNuQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxFQUFFLEVBQUUsc0NBQXNDO3dCQUMxQyxJQUFJLEVBQUU7NEJBQ0osRUFBRSxFQUFFLFdBQVc7eUJBQ2hCO3dCQUNELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7cUJBQ3JCO2lCQUNGO2dCQUNE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
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ApisauceInstance } from 'apisauce';
|
|
2
2
|
import { KitsasConnectionInterface } from '../interfaces';
|
|
3
3
|
import { AuthResponse } from '../types/authresponse';
|
|
4
|
+
import { BookList } from '../types/books';
|
|
5
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
4
6
|
export declare class KitsasConnection implements KitsasConnectionInterface {
|
|
5
7
|
constructor(baseapi: string, agent: string, response: AuthResponse);
|
|
6
8
|
getName(): string;
|
|
7
9
|
getApi(): ApisauceInstance;
|
|
10
|
+
getOffices(): Promise<OfficeList[]>;
|
|
11
|
+
getOffice(id: string): Promise<Office>;
|
|
12
|
+
getBooks(target?: string): Promise<BookList[]>;
|
|
13
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
8
14
|
private token;
|
|
9
15
|
private name;
|
|
10
16
|
private api;
|
|
@@ -22,6 +22,42 @@ class KitsasConnection {
|
|
|
22
22
|
getApi() {
|
|
23
23
|
return this.api;
|
|
24
24
|
}
|
|
25
|
+
async getOffices() {
|
|
26
|
+
const response = await this.api.get('/v1/offices');
|
|
27
|
+
if (response.ok) {
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw Error('Error getting offices');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getOffice(id) {
|
|
35
|
+
const response = await this.api.get('/v1/offices/' + id);
|
|
36
|
+
if (response.ok) {
|
|
37
|
+
return response.data;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw Error('Error getting office');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async getBooks(target) {
|
|
44
|
+
const response = await this.api.get('/v1/books' + (target ? '?target=' + target : ''));
|
|
45
|
+
if (response.ok) {
|
|
46
|
+
return response.data;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw Error('Error getting books');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async getPermissions(target) {
|
|
53
|
+
const response = await this.api.get('/v1/permissions?target=' + target);
|
|
54
|
+
if (response.ok) {
|
|
55
|
+
return response.data;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw Error('Error getting permissions');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
25
61
|
}
|
|
26
62
|
exports.KitsasConnection = KitsasConnection;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2FzY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFvRDtBQU9wRCxNQUFhLGdCQUFnQjtJQUMzQixZQUFZLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBc0I7UUFDaEUsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBQSxpQkFBTSxFQUFDO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsS0FBSztnQkFDbkIsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSzthQUN0QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsSUFBb0IsQ0FBQztTQUN0QzthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQVU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsSUFBYyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBZTtRQUM1QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNqQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsSUFBa0IsQ0FBQztTQUNwQzthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQWM7UUFDakMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4RSxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLFFBQVEsQ0FBQyxJQUFvQixDQUFDO1NBQ3RDO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztDQU1GO0FBakVELDRDQWlFQyJ9
|
|
@@ -47,9 +47,13 @@ class KitsasService {
|
|
|
47
47
|
return MocKitsasService_1.MockKitsasService.connect(options);
|
|
48
48
|
}
|
|
49
49
|
const api = (0, apisauce_1.create)({
|
|
50
|
-
baseURL: options.url ||
|
|
50
|
+
baseURL: options.url ||
|
|
51
|
+
(process && process.env.KITSAS_URL) ||
|
|
52
|
+
'https://hub.kitsas.fi',
|
|
51
53
|
headers: {
|
|
52
|
-
'User-Agent': options.agent ||
|
|
54
|
+
'User-Agent': options.agent ||
|
|
55
|
+
(process && process.env.KITSAS_AGENT) ||
|
|
56
|
+
'KitsasLibrary',
|
|
53
57
|
},
|
|
54
58
|
});
|
|
55
59
|
const payload = {
|
|
@@ -79,4 +83,4 @@ class KitsasService {
|
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
exports.KitsasService = KitsasService;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2Fzc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQWtDO0FBR2xDLDhEQUE0RDtBQUc1RCxxRUFBdUQ7QUFFdkQseURBQXNEO0FBRXRELE1BQWEsYUFBYTtJQUN4QjtRQUNFLE1BQU0sS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNsQixPQUFnQztRQUVoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxvQ0FBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGlCQUFNLEVBQUM7WUFDakIsT0FBTyxFQUNMLE9BQU8sQ0FBQyxHQUFHO2dCQUNYLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNuQyx1QkFBdUI7WUFDekIsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFDVixPQUFPLENBQUMsS0FBSztvQkFDYixDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFDckMsZUFBZTthQUNsQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHO1lBQ2QsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlO1lBQ3pELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZTtTQUMxRCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV0RCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBOEIsQ0FBQztZQUVyRCxPQUFPLElBQUksbUNBQWdCLENBQ3pCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFDaEIsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxlQUFlLEVBQzVELElBQUksQ0FDTCxDQUFDO1NBQ0g7YUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssY0FBYyxFQUFFO1lBQzlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUErQixDQUFDO1lBQ3ZELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxxQkFBcUIsRUFBRTtnQkFDM0MsTUFBTSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQ2hEO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxjQUFjLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUN6QztpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztTQUNGO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7Q0FDRjtBQS9ERCxzQ0ErREMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface BookList {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
businessId?: string;
|
|
5
|
+
group: {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: string;
|
|
9
|
+
};
|
|
10
|
+
created: Date;
|
|
11
|
+
modified?: Date;
|
|
12
|
+
documentCount?: number;
|
|
13
|
+
backend?: string;
|
|
14
|
+
vat: {
|
|
15
|
+
dueDate?: Date;
|
|
16
|
+
returnedUntil?: Date;
|
|
17
|
+
period?: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvYm9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface OfficeList {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
businessId?: string;
|
|
5
|
+
}
|
|
6
|
+
interface OfficeRole {
|
|
7
|
+
id: string;
|
|
8
|
+
name: {
|
|
9
|
+
fi: string;
|
|
10
|
+
sv?: string;
|
|
11
|
+
en?: string;
|
|
12
|
+
};
|
|
13
|
+
rights: string[];
|
|
14
|
+
}
|
|
15
|
+
interface OfficeBookshelf {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
path: string;
|
|
19
|
+
}
|
|
20
|
+
export interface Office {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
created: Date;
|
|
24
|
+
businessId?: string;
|
|
25
|
+
officeType?: string;
|
|
26
|
+
roles?: OfficeRole[];
|
|
27
|
+
bookshelves?: OfficeBookshelf[];
|
|
28
|
+
}
|
|
29
|
+
interface OfficeUserTarget {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
type: string;
|
|
33
|
+
rights: string[];
|
|
34
|
+
roles: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface OfficeUser {
|
|
37
|
+
id: string;
|
|
38
|
+
name: string;
|
|
39
|
+
targets: OfficeUserTarget[];
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL29mZmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,7 +1,30 @@
|
|
|
1
|
+
import { BookList } from '../types/books';
|
|
2
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
1
3
|
export interface KitsasConnectionInterface {
|
|
2
4
|
/**
|
|
3
5
|
* Get current user's name
|
|
4
6
|
* @returns User's name
|
|
5
7
|
*/
|
|
6
8
|
getName(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Get list of offices
|
|
11
|
+
* @returns List of offices
|
|
12
|
+
*/
|
|
13
|
+
getOffices(): Promise<OfficeList[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get office information
|
|
16
|
+
* @param id Office id
|
|
17
|
+
*/
|
|
18
|
+
getOffice(id: string): Promise<Office>;
|
|
19
|
+
/**
|
|
20
|
+
* Get list of books
|
|
21
|
+
* @param target Office, user or bookshelf id
|
|
22
|
+
* @returns List of books
|
|
23
|
+
*/
|
|
24
|
+
getBooks(target?: string): Promise<BookList[]>;
|
|
25
|
+
/**
|
|
26
|
+
* List users and their roles
|
|
27
|
+
* @param target Office, bookshelf or book id
|
|
28
|
+
*/
|
|
29
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
7
30
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { KitsasConnectionInterface } from '../interfaces';
|
|
2
2
|
import { AuthResponse } from '../types/authresponse';
|
|
3
|
+
import { BookList } from '../types/books';
|
|
4
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
3
5
|
export declare class MockKitsasConnection implements KitsasConnectionInterface {
|
|
4
6
|
constructor(response: AuthResponse);
|
|
5
7
|
getName(): string;
|
|
8
|
+
getOffices(): Promise<OfficeList[]>;
|
|
9
|
+
getOffice(id: string): Promise<Office>;
|
|
10
|
+
getBooks(target: string): Promise<BookList[]>;
|
|
11
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
6
12
|
private name;
|
|
7
13
|
}
|
|
@@ -5,6 +5,117 @@ export class MockKitsasConnection {
|
|
|
5
5
|
getName() {
|
|
6
6
|
return this.name;
|
|
7
7
|
}
|
|
8
|
+
getOffices() {
|
|
9
|
+
return new Promise((resolve) => {
|
|
10
|
+
resolve([
|
|
11
|
+
{
|
|
12
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
13
|
+
name: 'Test Office',
|
|
14
|
+
businessId: '1234567-8',
|
|
15
|
+
},
|
|
16
|
+
]);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
getOffice(id) {
|
|
20
|
+
if (id !== '1dcb9463-829f-4369-9861-ae2ce7041f03')
|
|
21
|
+
throw Error('Error getting office');
|
|
22
|
+
return new Promise((resolve) => {
|
|
23
|
+
resolve({
|
|
24
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
25
|
+
name: 'Test Office',
|
|
26
|
+
created: new Date(),
|
|
27
|
+
businessId: '1234567-8',
|
|
28
|
+
officeType: 'KITSASPRO',
|
|
29
|
+
roles: [
|
|
30
|
+
{
|
|
31
|
+
id: '5859954a-3cf9-48cb-a328-203548b5c90e',
|
|
32
|
+
name: {
|
|
33
|
+
fi: 'Test Role',
|
|
34
|
+
},
|
|
35
|
+
rights: ['Ts', 'Tl'],
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
bookshelves: [
|
|
39
|
+
{
|
|
40
|
+
id: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
41
|
+
name: 'Test Bookshelf',
|
|
42
|
+
path: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getBooks(target) {
|
|
49
|
+
if (target) {
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
resolve([
|
|
52
|
+
{
|
|
53
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
54
|
+
name: 'Test Book',
|
|
55
|
+
businessId: '1234567-8',
|
|
56
|
+
group: {
|
|
57
|
+
id: target,
|
|
58
|
+
name: 'Test Bookshelf',
|
|
59
|
+
type: 'BOOKSHELF',
|
|
60
|
+
},
|
|
61
|
+
created: new Date('2023-01-01'),
|
|
62
|
+
modified: new Date('2023-09-05'),
|
|
63
|
+
documentCount: 0,
|
|
64
|
+
backend: 'KITSAS',
|
|
65
|
+
vat: {
|
|
66
|
+
dueDate: new Date('2023-10-12'),
|
|
67
|
+
returnedUntil: new Date('2023-08-31'),
|
|
68
|
+
period: 1,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return new Promise((resolve) => {
|
|
75
|
+
resolve([
|
|
76
|
+
{
|
|
77
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
78
|
+
name: 'Test Book',
|
|
79
|
+
businessId: '1234567-8',
|
|
80
|
+
group: {
|
|
81
|
+
id: 'e04bf1a5-9e63-4d3d-8d07-e26faf6442a3',
|
|
82
|
+
name: 'Test User',
|
|
83
|
+
type: 'USER',
|
|
84
|
+
},
|
|
85
|
+
created: new Date('2023-01-01'),
|
|
86
|
+
modified: new Date('2023-09-05'),
|
|
87
|
+
documentCount: 0,
|
|
88
|
+
backend: 'KITSAS',
|
|
89
|
+
vat: {
|
|
90
|
+
dueDate: new Date('2023-10-12'),
|
|
91
|
+
returnedUntil: new Date('2023-08-31'),
|
|
92
|
+
period: 1,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getPermissions(target) {
|
|
99
|
+
if (target !== '1dcb9463-829f-4369-9861-ae2ce7041f03')
|
|
100
|
+
throw Error('Error getting users');
|
|
101
|
+
return new Promise((resolve) => {
|
|
102
|
+
resolve([
|
|
103
|
+
{
|
|
104
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
105
|
+
name: 'Test User',
|
|
106
|
+
targets: [
|
|
107
|
+
{
|
|
108
|
+
id: '1dcb9463-829f-4369-9861-ae2ce7041f03',
|
|
109
|
+
name: 'Test Office',
|
|
110
|
+
type: 'OFFICE',
|
|
111
|
+
rights: ['Ts', 'Tl'],
|
|
112
|
+
roles: ['5859954a-3cf9-48cb-a328-203548b5c90e'],
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
]);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
8
119
|
name;
|
|
9
120
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja0tpdHNhc0Nvbm5lY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9jL01vY2tLaXRzYXNDb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBWSxRQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxDQUFDO2dCQUNOO29CQUNFLEVBQUUsRUFBRSxzQ0FBc0M7b0JBQzFDLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsV0FBVztpQkFDeEI7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNsQixJQUFJLEVBQUUsS0FBSyxzQ0FBc0M7WUFDL0MsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxDQUFDO2dCQUNOLEVBQUUsRUFBRSxzQ0FBc0M7Z0JBQzFDLElBQUksRUFBRSxhQUFhO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ25CLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixVQUFVLEVBQUUsV0FBVztnQkFDdkIsS0FBSyxFQUFFO29CQUNMO3dCQUNFLEVBQUUsRUFBRSxzQ0FBc0M7d0JBQzFDLElBQUksRUFBRTs0QkFDSixFQUFFLEVBQUUsV0FBVzt5QkFDaEI7d0JBQ0QsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztxQkFDckI7aUJBQ0Y7Z0JB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
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ApisauceInstance } from 'apisauce';
|
|
2
2
|
import { KitsasConnectionInterface } from '../interfaces';
|
|
3
3
|
import { AuthResponse } from '../types/authresponse';
|
|
4
|
+
import { BookList } from '../types/books';
|
|
5
|
+
import { Office, OfficeList, OfficeUser } from '../types/office';
|
|
4
6
|
export declare class KitsasConnection implements KitsasConnectionInterface {
|
|
5
7
|
constructor(baseapi: string, agent: string, response: AuthResponse);
|
|
6
8
|
getName(): string;
|
|
7
9
|
getApi(): ApisauceInstance;
|
|
10
|
+
getOffices(): Promise<OfficeList[]>;
|
|
11
|
+
getOffice(id: string): Promise<Office>;
|
|
12
|
+
getBooks(target?: string): Promise<BookList[]>;
|
|
13
|
+
getPermissions(target: string): Promise<OfficeUser[]>;
|
|
8
14
|
private token;
|
|
9
15
|
private name;
|
|
10
16
|
private api;
|
|
@@ -19,8 +19,44 @@ export class KitsasConnection {
|
|
|
19
19
|
getApi() {
|
|
20
20
|
return this.api;
|
|
21
21
|
}
|
|
22
|
+
async getOffices() {
|
|
23
|
+
const response = await this.api.get('/v1/offices');
|
|
24
|
+
if (response.ok) {
|
|
25
|
+
return response.data;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw Error('Error getting offices');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async getOffice(id) {
|
|
32
|
+
const response = await this.api.get('/v1/offices/' + id);
|
|
33
|
+
if (response.ok) {
|
|
34
|
+
return response.data;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
throw Error('Error getting office');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async getBooks(target) {
|
|
41
|
+
const response = await this.api.get('/v1/books' + (target ? '?target=' + target : ''));
|
|
42
|
+
if (response.ok) {
|
|
43
|
+
return response.data;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw Error('Error getting books');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async getPermissions(target) {
|
|
50
|
+
const response = await this.api.get('/v1/permissions?target=' + target);
|
|
51
|
+
if (response.ok) {
|
|
52
|
+
return response.data;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw Error('Error getting permissions');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
22
58
|
token;
|
|
23
59
|
name;
|
|
24
60
|
api;
|
|
25
61
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2FzY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBT3BELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBWSxPQUFlLEVBQUUsS0FBYSxFQUFFLFFBQXNCO1FBQ2hFLDZCQUE2QjtRQUM3Qix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUU7Z0JBQ1AsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDdEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLElBQW9CLENBQUM7U0FDdEM7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFVO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLElBQWMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQWU7UUFDNUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FDakMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUNGLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLElBQWtCLENBQUM7U0FDcEM7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDeEUsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsSUFBb0IsQ0FBQztTQUN0QzthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTyxLQUFLLENBQVM7SUFDZCxJQUFJLENBQVM7SUFFYixHQUFHLENBQW1CO0NBQy9CIn0=
|
|
@@ -21,9 +21,13 @@ export class KitsasService {
|
|
|
21
21
|
return MockKitsasService.connect(options);
|
|
22
22
|
}
|
|
23
23
|
const api = create({
|
|
24
|
-
baseURL: options.url ||
|
|
24
|
+
baseURL: options.url ||
|
|
25
|
+
(process && process.env.KITSAS_URL) ||
|
|
26
|
+
'https://hub.kitsas.fi',
|
|
25
27
|
headers: {
|
|
26
|
-
'User-Agent': options.agent ||
|
|
28
|
+
'User-Agent': options.agent ||
|
|
29
|
+
(process && process.env.KITSAS_AGENT) ||
|
|
30
|
+
'KitsasLibrary',
|
|
27
31
|
},
|
|
28
32
|
});
|
|
29
33
|
const payload = {
|
|
@@ -52,4 +56,4 @@ export class KitsasService {
|
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0c2Fzc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9raXRzYXNzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQUNFLE1BQU0sS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNsQixPQUFnQztRQUVoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7UUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDakIsT0FBTyxFQUNMLE9BQU8sQ0FBQyxHQUFHO2dCQUNYLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNuQyx1QkFBdUI7WUFDekIsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFDVixPQUFPLENBQUMsS0FBSztvQkFDYixDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFDckMsZUFBZTthQUNsQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHO1lBQ2QsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlO1lBQ3pELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZTtTQUMxRCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV0RCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBOEIsQ0FBQztZQUVyRCxPQUFPLElBQUksZ0JBQWdCLENBQ3pCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFDaEIsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxlQUFlLEVBQzVELElBQUksQ0FDTCxDQUFDO1NBQ0g7YUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssY0FBYyxFQUFFO1lBQzlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUErQixDQUFDO1lBQ3ZELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxxQkFBcUIsRUFBRTtnQkFDM0MsTUFBTSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQ2hEO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxjQUFjLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUN6QztpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztTQUNGO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface BookList {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
businessId?: string;
|
|
5
|
+
group: {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: string;
|
|
9
|
+
};
|
|
10
|
+
created: Date;
|
|
11
|
+
modified?: Date;
|
|
12
|
+
documentCount?: number;
|
|
13
|
+
backend?: string;
|
|
14
|
+
vat: {
|
|
15
|
+
dueDate?: Date;
|
|
16
|
+
returnedUntil?: Date;
|
|
17
|
+
period?: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface OfficeList {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
businessId?: string;
|
|
5
|
+
}
|
|
6
|
+
interface OfficeRole {
|
|
7
|
+
id: string;
|
|
8
|
+
name: {
|
|
9
|
+
fi: string;
|
|
10
|
+
sv?: string;
|
|
11
|
+
en?: string;
|
|
12
|
+
};
|
|
13
|
+
rights: string[];
|
|
14
|
+
}
|
|
15
|
+
interface OfficeBookshelf {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
path: string;
|
|
19
|
+
}
|
|
20
|
+
export interface Office {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
created: Date;
|
|
24
|
+
businessId?: string;
|
|
25
|
+
officeType?: string;
|
|
26
|
+
roles?: OfficeRole[];
|
|
27
|
+
bookshelves?: OfficeBookshelf[];
|
|
28
|
+
}
|
|
29
|
+
interface OfficeUserTarget {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
type: string;
|
|
33
|
+
rights: string[];
|
|
34
|
+
roles: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface OfficeUser {
|
|
37
|
+
id: string;
|
|
38
|
+
name: string;
|
|
39
|
+
targets: OfficeUserTarget[];
|
|
40
|
+
}
|
|
41
|
+
export {};
|