@bisondesk/documents-sdk 1.0.317 → 1.0.319
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/apis/document-drafts.d.ts +4 -0
- package/lib/apis/document-drafts.d.ts.map +1 -0
- package/lib/apis/document-drafts.js +45 -0
- package/lib/apis/document-drafts.js.map +1 -0
- package/lib/apis/documents.d.ts +3 -0
- package/lib/apis/documents.d.ts.map +1 -1
- package/lib/apis/documents.js +41 -3
- package/lib/apis/documents.js.map +1 -1
- package/lib/schemas.d.ts +6 -0
- package/lib/schemas.d.ts.map +1 -0
- package/lib/schemas.js +105 -0
- package/lib/schemas.js.map +1 -0
- package/lib/types/booking.d.ts +9 -3
- package/lib/types/booking.d.ts.map +1 -1
- package/lib/types/booking.js.map +1 -1
- package/lib/types/document-categories.d.ts +39 -8
- package/lib/types/document-categories.d.ts.map +1 -1
- package/lib/types/document-categories.js +5 -0
- package/lib/types/document-categories.js.map +1 -1
- package/lib/types/documents.d.ts +61 -37
- package/lib/types/documents.d.ts.map +1 -1
- package/lib/types/documents.js +13 -16
- package/lib/types/documents.js.map +1 -1
- package/lib/types/embeddings.d.ts +3 -2
- package/lib/types/embeddings.d.ts.map +1 -1
- package/lib/types/embeddings.js +2 -1
- package/lib/types/embeddings.js.map +1 -1
- package/lib/types/events.d.ts +2 -4
- package/lib/types/events.d.ts.map +1 -1
- package/lib/types/events.js.map +1 -1
- package/lib/types/legacy.d.ts +1 -0
- package/lib/types/legacy.d.ts.map +1 -1
- package/lib/types/legacy.js.map +1 -1
- package/lib/types/ocr.d.ts +45 -0
- package/lib/types/ocr.d.ts.map +1 -0
- package/lib/types/ocr.js +28 -0
- package/lib/types/ocr.js.map +1 -0
- package/lib/types/search.d.ts +9 -8
- package/lib/types/search.d.ts.map +1 -1
- package/lib/types/search.js.map +1 -1
- package/lib/types/vat.d.ts +1 -1
- package/lib/types/vat.d.ts.map +1 -1
- package/lib/types/vat.js.map +1 -1
- package/lib/utils/associations.d.ts +6 -0
- package/lib/utils/associations.d.ts.map +1 -0
- package/lib/utils/associations.js +9 -0
- package/lib/utils/associations.js.map +1 -0
- package/lib/{utils.d.ts → utils/previews.d.ts} +1 -1
- package/lib/utils/previews.d.ts.map +1 -0
- package/lib/{utils.js → utils/previews.js} +1 -1
- package/lib/utils/previews.js.map +1 -0
- package/package.json +2 -2
- package/src/apis/document-drafts.ts +68 -0
- package/src/apis/documents.ts +60 -3
- package/src/schemas.ts +112 -0
- package/src/types/booking.ts +4 -3
- package/src/types/document-categories.ts +48 -8
- package/src/types/documents.ts +73 -50
- package/src/types/embeddings.ts +5 -2
- package/src/types/events.ts +2 -4
- package/src/types/legacy.ts +1 -0
- package/src/types/ocr.ts +47 -0
- package/src/types/search.ts +10 -8
- package/src/types/vat.ts +1 -1
- package/src/utils/associations.ts +21 -0
- package/tsconfig.deploy.json +5 -0
- package/tsconfig.deploy.tsbuildinfo +1 -0
- package/tsconfig.json +1 -1
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
- /package/src/{utils.ts → utils/previews.ts} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FinanceDocumentCategory, FinanceDocumentLineCategory } from '../types/document-categories.js';
|
|
2
|
+
export declare const getFinanceDocumentCategory: (tenantId: string, branchId: string, docCategoryId: string) => Promise<FinanceDocumentCategory | undefined>;
|
|
3
|
+
export declare const listFinanceLineCategories: (tenantId: string, branchId: string, docCategoryId: string) => Promise<FinanceDocumentLineCategory[]>;
|
|
4
|
+
//# sourceMappingURL=document-drafts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-drafts.d.ts","sourceRoot":"/","sources":["apis/document-drafts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAMzC,eAAO,MAAM,0BAA0B,aAC3B,MAAM,YACN,MAAM,iBACD,MAAM,KACpB,QAAQ,uBAAuB,GAAG,SAAS,CAwB7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAC1B,MAAM,YACN,MAAM,iBACD,MAAM,KACpB,QAAQ,2BAA2B,EAAE,CAwBvC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getAdminAuth } from '@bisondesk/commons-sdk/fetch';
|
|
2
|
+
import fetch from 'node-fetch';
|
|
3
|
+
import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';
|
|
4
|
+
import { XError } from '@bisondesk/commons-sdk/errors';
|
|
5
|
+
export const getFinanceDocumentCategory = async (tenantId, branchId, docCategoryId) => {
|
|
6
|
+
const auth = await getAdminAuth();
|
|
7
|
+
const response = await fetch(`${process.env.DOCUMENT_DRAFTS_API_ORIGIN}/api/documents/settings/${branchId}/document-categories/${docCategoryId}`, {
|
|
8
|
+
headers: {
|
|
9
|
+
Authorization: auth,
|
|
10
|
+
[TENANT_ID_ADMIN_HEADER]: tenantId,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
if (response.status === 200) {
|
|
14
|
+
return response.json();
|
|
15
|
+
}
|
|
16
|
+
const body = await response.text();
|
|
17
|
+
throw new XError('documents-sdk.drafts.get-doc-category-fail', {
|
|
18
|
+
tenantId,
|
|
19
|
+
branchId,
|
|
20
|
+
docCategoryId,
|
|
21
|
+
response: body,
|
|
22
|
+
status: response.status,
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export const listFinanceLineCategories = async (tenantId, branchId, docCategoryId) => {
|
|
26
|
+
const auth = await getAdminAuth();
|
|
27
|
+
const response = await fetch(`${process.env.DOCUMENT_DRAFTS_API_ORIGIN}/api/documents/settings/${branchId}/document-categories/${docCategoryId}/line-categories`, {
|
|
28
|
+
headers: {
|
|
29
|
+
Authorization: auth,
|
|
30
|
+
[TENANT_ID_ADMIN_HEADER]: tenantId,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
if (response.status === 200) {
|
|
34
|
+
return response.json();
|
|
35
|
+
}
|
|
36
|
+
const body = await response.text();
|
|
37
|
+
throw new XError('documents-sdk.drafts.get-doc-lines-categories-fail', {
|
|
38
|
+
tenantId,
|
|
39
|
+
branchId,
|
|
40
|
+
docCategoryId,
|
|
41
|
+
response: body,
|
|
42
|
+
status: response.status,
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=document-drafts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-drafts.js","sourceRoot":"/","sources":["apis/document-drafts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAmB,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACyB,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,2BAA2B,QAAQ,wBAAwB,aAAa,EAAE,EACnH;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;YACnB,CAAC,sBAAsB,CAAC,EAAE,QAAQ;SACnC;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,MAAM,CAAC,4CAA4C,EAAE;QAC7D,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACmB,EAAE;IAC1C,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,2BAA2B,QAAQ,wBAAwB,aAAa,kBAAkB,EACnI;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;YACnB,CAAC,sBAAsB,CAAC,EAAE,QAAQ;SACnC;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,MAAM,CAAC,oDAAoD,EAAE;QACrE,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import {\n FinanceDocumentCategory,\n FinanceDocumentLineCategory,\n} from '../types/document-categories.js';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\n\nexport const getFinanceDocumentCategory = async (\n tenantId: string,\n branchId: string,\n docCategoryId: string\n): Promise<FinanceDocumentCategory | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.DOCUMENT_DRAFTS_API_ORIGIN}/api/documents/settings/${branchId}/document-categories/${docCategoryId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.drafts.get-doc-category-fail', {\n tenantId,\n branchId,\n docCategoryId,\n response: body,\n status: response.status,\n });\n};\n\nexport const listFinanceLineCategories = async (\n tenantId: string,\n branchId: string,\n docCategoryId: string\n): Promise<FinanceDocumentLineCategory[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.DOCUMENT_DRAFTS_API_ORIGIN}/api/documents/settings/${branchId}/document-categories/${docCategoryId}/line-categories`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.drafts.get-doc-lines-categories-fail', {\n tenantId,\n branchId,\n docCategoryId,\n response: body,\n status: response.status,\n });\n};\n"]}
|
package/lib/apis/documents.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { DataRecord, ReferenceData } from '@bisondesk/core-sdk/types/utils';
|
|
1
2
|
import { FinanceBooking } from '../types/booking.js';
|
|
2
3
|
import { AdministrativeDocument, FinanceDocument } from '../types/documents.js';
|
|
4
|
+
export declare const getFinanceDocument: (tenantId: string, documentId: string) => Promise<DataRecord<FinanceDocument, ReferenceData> | undefined>;
|
|
5
|
+
export declare const getFinanceBookingByDocId: (tenantId: string, documentId: string) => Promise<FinanceBooking | undefined>;
|
|
3
6
|
export declare const upsertFinanceDoc: (tenantId: string, doc: FinanceDocument) => Promise<FinanceDocument>;
|
|
4
7
|
export declare const upsertAdminDoc: (tenantId: string, doc: AdministrativeDocument) => Promise<AdministrativeDocument>;
|
|
5
8
|
export declare const upsertFinanceBooking: (tenantId: string, booking: FinanceBooking) => Promise<FinanceBooking>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEhF,eAAO,MAAM,kBAAkB,aACnB,MAAM,cACJ,MAAM,KACjB,QAAQ,WAAW,eAAe,EAAE,aAAa,CAAC,GAAG,SAAS,CAuBhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,aACzB,MAAM,cACJ,MAAM,KACjB,QAAQ,cAAc,GAAG,SAAS,CAuBpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,MAAM,OACX,eAAe,KACnB,QAAQ,eAAe,CAuBzB,CAAC;AAEF,eAAO,MAAM,cAAc,aACf,MAAM,OACX,sBAAsB,KAC1B,QAAQ,sBAAsB,CA0BhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,WACP,cAAc,KACtB,QAAQ,cAAc,CA0BxB,CAAC"}
|
package/lib/apis/documents.js
CHANGED
|
@@ -2,6 +2,44 @@ import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';
|
|
|
2
2
|
import { XError } from '@bisondesk/commons-sdk/errors';
|
|
3
3
|
import { getAdminAuth } from '@bisondesk/commons-sdk/fetch';
|
|
4
4
|
import fetch from 'node-fetch';
|
|
5
|
+
export const getFinanceDocument = async (tenantId, documentId) => {
|
|
6
|
+
const auth = await getAdminAuth();
|
|
7
|
+
const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance/${documentId}`, {
|
|
8
|
+
headers: {
|
|
9
|
+
Authorization: auth,
|
|
10
|
+
[TENANT_ID_ADMIN_HEADER]: tenantId,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
if (response.status === 200) {
|
|
14
|
+
return response.json();
|
|
15
|
+
}
|
|
16
|
+
const body = await response.text();
|
|
17
|
+
throw new XError('documents-sdk.get-finance-doc-fail', {
|
|
18
|
+
tenantId,
|
|
19
|
+
documentId,
|
|
20
|
+
response: body,
|
|
21
|
+
status: response.status,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export const getFinanceBookingByDocId = async (tenantId, documentId) => {
|
|
25
|
+
const auth = await getAdminAuth();
|
|
26
|
+
const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance/${documentId}/booking`, {
|
|
27
|
+
headers: {
|
|
28
|
+
Authorization: auth,
|
|
29
|
+
[TENANT_ID_ADMIN_HEADER]: tenantId,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
if (response.status === 200) {
|
|
33
|
+
return response.json();
|
|
34
|
+
}
|
|
35
|
+
const body = await response.text();
|
|
36
|
+
throw new XError('documents-sdk.get-finance-booking-fail', {
|
|
37
|
+
tenantId,
|
|
38
|
+
documentId,
|
|
39
|
+
response: body,
|
|
40
|
+
status: response.status,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
5
43
|
export const upsertFinanceDoc = async (tenantId, doc) => {
|
|
6
44
|
const auth = await getAdminAuth();
|
|
7
45
|
const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance`, {
|
|
@@ -17,7 +55,7 @@ export const upsertFinanceDoc = async (tenantId, doc) => {
|
|
|
17
55
|
return response.json();
|
|
18
56
|
}
|
|
19
57
|
const body = await response.text();
|
|
20
|
-
throw new XError('
|
|
58
|
+
throw new XError('documents-sdk.upsert-finance-doc-fail', {
|
|
21
59
|
tenantId,
|
|
22
60
|
doc,
|
|
23
61
|
response: body,
|
|
@@ -39,7 +77,7 @@ export const upsertAdminDoc = async (tenantId, doc) => {
|
|
|
39
77
|
return response.json();
|
|
40
78
|
}
|
|
41
79
|
const body = await response.text();
|
|
42
|
-
throw new XError('
|
|
80
|
+
throw new XError('documents-sdk.upsert-admin-doc-fail', {
|
|
43
81
|
tenantId,
|
|
44
82
|
doc,
|
|
45
83
|
response: body,
|
|
@@ -61,7 +99,7 @@ export const upsertFinanceBooking = async (tenantId, booking) => {
|
|
|
61
99
|
return response.json();
|
|
62
100
|
}
|
|
63
101
|
const body = await response.text();
|
|
64
|
-
throw new XError('
|
|
102
|
+
throw new XError('documents-sdk.upsert-finance-booking-fail', {
|
|
65
103
|
tenantId,
|
|
66
104
|
booking,
|
|
67
105
|
response: body,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport { DataRecord, ReferenceData } from '@bisondesk/core-sdk/types/utils';\nimport fetch, { Response } from 'node-fetch';\nimport { FinanceBooking } from '../types/booking.js';\nimport { AdministrativeDocument, FinanceDocument } from '../types/documents.js';\n\nexport const getFinanceDocument = async (\n tenantId: string,\n documentId: string\n): Promise<DataRecord<FinanceDocument, ReferenceData> | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/finance/${documentId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.get-finance-doc-fail', {\n tenantId,\n documentId,\n response: body,\n status: response.status,\n });\n};\n\nexport const getFinanceBookingByDocId = async (\n tenantId: string,\n documentId: string\n): Promise<FinanceBooking | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/finance/${documentId}/booking`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.get-finance-booking-fail', {\n tenantId,\n documentId,\n response: body,\n status: response.status,\n });\n};\n\nexport const upsertFinanceDoc = async (\n tenantId: string,\n doc: FinanceDocument\n): Promise<FinanceDocument> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(doc),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.upsert-finance-doc-fail', {\n tenantId,\n doc,\n response: body,\n status: response.status,\n });\n};\n\nexport const upsertAdminDoc = async (\n tenantId: string,\n doc: AdministrativeDocument\n): Promise<AdministrativeDocument> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/administrative`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(doc),\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.upsert-admin-doc-fail', {\n tenantId,\n doc,\n response: body,\n status: response.status,\n });\n};\n\nexport const upsertFinanceBooking = async (\n tenantId: string,\n booking: FinanceBooking\n): Promise<FinanceBooking> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/finance/booking`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(booking),\n }\n );\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError('documents-sdk.upsert-finance-booking-fail', {\n tenantId,\n booking,\n response: body,\n status: response.status,\n });\n};\n"]}
|
package/lib/schemas.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Joi from 'joi';
|
|
2
|
+
export declare const lineSchema: Joi.ObjectSchema<any>;
|
|
3
|
+
export declare const newFinanceDocV2Schema: Joi.ObjectSchema<any>;
|
|
4
|
+
export declare const newAdministativedDocumentSchema: Joi.ObjectSchema<any>;
|
|
5
|
+
export declare const administativeDocumentSchema: Joi.ObjectSchema<any>;
|
|
6
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"/","sources":["schemas.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,KAAK,CAAC;AAiCtB,eAAO,MAAM,UAAU,uBAmBrB,CAAC;AAEH,eAAO,MAAM,qBAAqB,uBAqChC,CAAC;AAEH,eAAO,MAAM,+BAA+B,uBAS1C,CAAC;AAEH,eAAO,MAAM,2BAA2B,uBAItC,CAAC"}
|
package/lib/schemas.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';
|
|
2
|
+
import { attachmentValueSchema, getPhoneSchema } from '@bisondesk/commons/joi-schemas';
|
|
3
|
+
import { FinanceDocType } from '@bisondesk/documents-sdk/types/documents';
|
|
4
|
+
import Joi from 'joi';
|
|
5
|
+
const orgSummarySchema = Joi.object({
|
|
6
|
+
id: Joi.string().required(),
|
|
7
|
+
code: Joi.number().required(),
|
|
8
|
+
name: Joi.string().required(),
|
|
9
|
+
language: Joi.string().required(),
|
|
10
|
+
vatNumber: Joi.string(),
|
|
11
|
+
addressLine1: Joi.string(),
|
|
12
|
+
addressLine2: Joi.string(),
|
|
13
|
+
postcode: Joi.string(),
|
|
14
|
+
city: Joi.string(),
|
|
15
|
+
country: Joi.string().required(),
|
|
16
|
+
emails: Joi.array().items(Joi.string().email()),
|
|
17
|
+
phone: getPhoneSchema(),
|
|
18
|
+
contact: Joi.object({
|
|
19
|
+
name: Joi.string().required(),
|
|
20
|
+
username: Joi.string().required(),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
const associationsSchema = Joi.array().items(Joi.object({
|
|
24
|
+
businessEntityId: Joi.string()
|
|
25
|
+
.valid(...Object.values(BusinessEntityIds))
|
|
26
|
+
.required(),
|
|
27
|
+
recordId: Joi.string().required(),
|
|
28
|
+
title: Joi.string().required(),
|
|
29
|
+
description: Joi.string().required(),
|
|
30
|
+
tags: Joi.array().items(Joi.string()),
|
|
31
|
+
}));
|
|
32
|
+
export const lineSchema = Joi.object({
|
|
33
|
+
category: Joi.string().required(),
|
|
34
|
+
amount: Joi.string().required(),
|
|
35
|
+
amountExcl: Joi.string().required(),
|
|
36
|
+
description: Joi.string().required(),
|
|
37
|
+
foreign: Joi.object({
|
|
38
|
+
amount: Joi.string().required(),
|
|
39
|
+
amountExcl: Joi.string().required(),
|
|
40
|
+
unitPriceExcl: Joi.string().required(),
|
|
41
|
+
vatAmount: Joi.string().required(),
|
|
42
|
+
}),
|
|
43
|
+
invoiceLineId: Joi.string(),
|
|
44
|
+
quantity: Joi.string().required(),
|
|
45
|
+
associations: associationsSchema,
|
|
46
|
+
unitPriceExcl: Joi.string().required(),
|
|
47
|
+
vatAmount: Joi.string().required(),
|
|
48
|
+
vatCode: Joi.string().required(),
|
|
49
|
+
vatPercentage: Joi.string().required(),
|
|
50
|
+
vatReason: Joi.string(),
|
|
51
|
+
});
|
|
52
|
+
export const newFinanceDocV2Schema = Joi.object({
|
|
53
|
+
id: Joi.string(),
|
|
54
|
+
version: Joi.number().valid(2.0).required(),
|
|
55
|
+
reference: Joi.string().required(),
|
|
56
|
+
type: Joi.string()
|
|
57
|
+
.valid(...Object.values(FinanceDocType))
|
|
58
|
+
.required(),
|
|
59
|
+
subtype: Joi.string().required(),
|
|
60
|
+
attachment: attachmentValueSchema.required(),
|
|
61
|
+
branchId: Joi.string().required(),
|
|
62
|
+
category: Joi.string().required(),
|
|
63
|
+
organizationSummary: orgSummarySchema.required(),
|
|
64
|
+
dueDate: Joi.string(),
|
|
65
|
+
transferDescription: Joi.string(),
|
|
66
|
+
invoiceId: Joi.string(),
|
|
67
|
+
notes: Joi.string(),
|
|
68
|
+
salesperson: Joi.object({
|
|
69
|
+
name: Joi.string().required(),
|
|
70
|
+
username: Joi.string().required(),
|
|
71
|
+
}),
|
|
72
|
+
paidAt: Joi.string(),
|
|
73
|
+
tags: Joi.array().items(Joi.string()),
|
|
74
|
+
total: Joi.object({
|
|
75
|
+
amountExcl: Joi.string().required(),
|
|
76
|
+
amount: Joi.string().required(),
|
|
77
|
+
currencyCode: Joi.string().required(),
|
|
78
|
+
foreign: Joi.object({
|
|
79
|
+
amount: Joi.string().required(),
|
|
80
|
+
amountExcl: Joi.string().required(),
|
|
81
|
+
vatAmount: Joi.string().required(),
|
|
82
|
+
currencyCode: Joi.string().required(),
|
|
83
|
+
exchangeRate: Joi.string().required(),
|
|
84
|
+
}),
|
|
85
|
+
vatAmount: Joi.string().required(),
|
|
86
|
+
}),
|
|
87
|
+
issueDate: Joi.string().isoDate().required(),
|
|
88
|
+
lines: Joi.array().items(lineSchema).required(),
|
|
89
|
+
});
|
|
90
|
+
export const newAdministativedDocumentSchema = Joi.object({
|
|
91
|
+
id: Joi.string(),
|
|
92
|
+
displayName: Joi.string(),
|
|
93
|
+
branchId: Joi.string().required(),
|
|
94
|
+
attachment: attachmentValueSchema.required(),
|
|
95
|
+
category: Joi.string().empty(''),
|
|
96
|
+
tags: Joi.array().items(Joi.string()),
|
|
97
|
+
associations: associationsSchema,
|
|
98
|
+
organizationSummary: orgSummarySchema,
|
|
99
|
+
});
|
|
100
|
+
export const administativeDocumentSchema = newAdministativedDocumentSchema.keys({
|
|
101
|
+
id: Joi.string().required(),
|
|
102
|
+
createdAt: Joi.string().required(),
|
|
103
|
+
createdBy: Joi.string().required(),
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"/","sources":["schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';\nimport { attachmentValueSchema, getPhoneSchema } from '@bisondesk/commons/joi-schemas';\nimport { FinanceDocType } from '@bisondesk/documents-sdk/types/documents';\nimport Joi from 'joi';\n\nconst orgSummarySchema = Joi.object({\n id: Joi.string().required(),\n code: Joi.number().required(),\n name: Joi.string().required(),\n language: Joi.string().required(),\n vatNumber: Joi.string(),\n addressLine1: Joi.string(),\n addressLine2: Joi.string(),\n postcode: Joi.string(),\n city: Joi.string(),\n country: Joi.string().required(),\n emails: Joi.array().items(Joi.string().email()),\n phone: getPhoneSchema(),\n contact: Joi.object({\n name: Joi.string().required(),\n username: Joi.string().required(),\n }),\n});\n\nconst associationsSchema = Joi.array().items(\n Joi.object({\n businessEntityId: Joi.string()\n .valid(...Object.values(BusinessEntityIds))\n .required(),\n recordId: Joi.string().required(),\n title: Joi.string().required(),\n description: Joi.string().required(),\n tags: Joi.array().items(Joi.string()),\n })\n);\n\nexport const lineSchema = Joi.object({\n category: Joi.string().required(),\n amount: Joi.string().required(),\n amountExcl: Joi.string().required(),\n description: Joi.string().required(),\n foreign: Joi.object({\n amount: Joi.string().required(),\n amountExcl: Joi.string().required(),\n unitPriceExcl: Joi.string().required(),\n vatAmount: Joi.string().required(),\n }),\n invoiceLineId: Joi.string(),\n quantity: Joi.string().required(),\n associations: associationsSchema,\n unitPriceExcl: Joi.string().required(),\n vatAmount: Joi.string().required(),\n vatCode: Joi.string().required(),\n vatPercentage: Joi.string().required(),\n vatReason: Joi.string(),\n});\n\nexport const newFinanceDocV2Schema = Joi.object({\n id: Joi.string(),\n version: Joi.number().valid(2.0).required(),\n reference: Joi.string().required(),\n type: Joi.string()\n .valid(...Object.values(FinanceDocType))\n .required(),\n subtype: Joi.string().required(),\n attachment: attachmentValueSchema.required(),\n branchId: Joi.string().required(),\n category: Joi.string().required(),\n organizationSummary: orgSummarySchema.required(),\n dueDate: Joi.string(),\n transferDescription: Joi.string(),\n invoiceId: Joi.string(),\n notes: Joi.string(),\n salesperson: Joi.object({\n name: Joi.string().required(),\n username: Joi.string().required(),\n }),\n paidAt: Joi.string(),\n tags: Joi.array().items(Joi.string()),\n total: Joi.object({\n amountExcl: Joi.string().required(),\n amount: Joi.string().required(),\n currencyCode: Joi.string().required(),\n foreign: Joi.object({\n amount: Joi.string().required(),\n amountExcl: Joi.string().required(),\n vatAmount: Joi.string().required(),\n currencyCode: Joi.string().required(),\n exchangeRate: Joi.string().required(),\n }),\n vatAmount: Joi.string().required(),\n }),\n issueDate: Joi.string().isoDate().required(),\n lines: Joi.array().items(lineSchema).required(),\n});\n\nexport const newAdministativedDocumentSchema = Joi.object({\n id: Joi.string(),\n displayName: Joi.string(),\n branchId: Joi.string().required(),\n attachment: attachmentValueSchema.required(),\n category: Joi.string().empty(''),\n tags: Joi.array().items(Joi.string()),\n associations: associationsSchema,\n organizationSummary: orgSummarySchema,\n});\n\nexport const administativeDocumentSchema = newAdministativedDocumentSchema.keys({\n id: Joi.string().required(),\n createdAt: Joi.string().required(),\n createdBy: Joi.string().required(),\n});\n"]}
|
package/lib/types/booking.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { FinanceDocument } from './documents.js';
|
|
2
2
|
export type FinanceBookingEvent = {
|
|
3
|
-
id: string;
|
|
4
|
-
branchId: string;
|
|
5
3
|
actionAt: string;
|
|
6
4
|
userId: string;
|
|
7
5
|
tenantId: string;
|
|
8
6
|
type: 'Sale Finance' | 'Purchase Finance';
|
|
9
7
|
version: FinanceDocument['version'];
|
|
10
|
-
}
|
|
8
|
+
} & ({
|
|
9
|
+
action: 'create';
|
|
10
|
+
booking: FinanceBooking;
|
|
11
|
+
previousBooking?: undefined;
|
|
12
|
+
} | {
|
|
13
|
+
action: 'update';
|
|
14
|
+
booking: FinanceBooking;
|
|
15
|
+
previousBooking: FinanceBooking;
|
|
16
|
+
});
|
|
11
17
|
export type FinanceBooking = {
|
|
12
18
|
branchId: string;
|
|
13
19
|
bookingNumber: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booking.d.ts","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,
|
|
1
|
+
{"version":3,"file":"booking.d.ts","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CACrC,GAAG,CACA;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,GAC1E;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,eAAe,EAAE,cAAc,CAAA;CAAE,CACjF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
package/lib/types/booking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booking.js","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"","sourcesContent":["import { FinanceDocument } from './documents.js';\n\nexport type FinanceBookingEvent = {\n
|
|
1
|
+
{"version":3,"file":"booking.js","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"","sourcesContent":["import { FinanceDocument } from './documents.js';\n\nexport type FinanceBookingEvent = {\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n version: FinanceDocument['version'];\n} & (\n | { action: 'create'; booking: FinanceBooking; previousBooking?: undefined }\n | { action: 'update'; booking: FinanceBooking; previousBooking: FinanceBooking }\n);\n\nexport type FinanceBooking = {\n branchId: string; // same tenantId can have different companies\n bookingNumber: string; // same booking number can and will exist across different \"branches\", unique => BranchId / Journal / Booking Number\n documentId: string;\n\n booked: true;\n journal?: string;\n amount?: string;\n reportingPeriod?: number;\n reportingYear?: number;\n paid: boolean;\n\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n};\n"]}
|
|
@@ -3,27 +3,58 @@ export declare enum DocumentCategoryVisibility {
|
|
|
3
3
|
Standard = "standard",
|
|
4
4
|
Private = "private"
|
|
5
5
|
}
|
|
6
|
-
export
|
|
6
|
+
export declare enum DocumentCategoryType {
|
|
7
|
+
Administrative = "administrative",
|
|
8
|
+
Finance = "finance"
|
|
9
|
+
}
|
|
10
|
+
type BaseDocumentCategory = {
|
|
7
11
|
createdAt: string;
|
|
8
12
|
branchId: string;
|
|
9
13
|
id: string;
|
|
10
|
-
|
|
14
|
+
type: DocumentCategoryType;
|
|
11
15
|
title: string;
|
|
12
|
-
|
|
16
|
+
};
|
|
17
|
+
export type AdministrativeDocumentCategory = BaseDocumentCategory & {
|
|
18
|
+
type: DocumentCategoryType.Administrative;
|
|
19
|
+
};
|
|
20
|
+
export type FinanceDocumentCategory = BaseDocumentCategory & {
|
|
21
|
+
type: DocumentCategoryType.Finance;
|
|
22
|
+
journal?: string;
|
|
23
|
+
costCenter: string;
|
|
13
24
|
visibility: DocumentCategoryVisibility;
|
|
14
|
-
|
|
25
|
+
transactionType: TransactionType;
|
|
15
26
|
validators?: string[];
|
|
16
27
|
};
|
|
17
|
-
export type
|
|
18
|
-
export type
|
|
28
|
+
export type DocumentCategory = AdministrativeDocumentCategory | FinanceDocumentCategory;
|
|
29
|
+
export type NewDocumentCategory = (Omit<FinanceDocumentCategory, 'id' | 'createdAt'> | Omit<AdministrativeDocumentCategory, 'id' | 'createdAt'>) & {
|
|
30
|
+
createdAt?: undefined;
|
|
31
|
+
id?: undefined;
|
|
32
|
+
};
|
|
33
|
+
export type FinanceDocumentLineCategory = {
|
|
19
34
|
createdAt: string;
|
|
20
35
|
branchId: string;
|
|
21
36
|
categoryId: string;
|
|
22
37
|
id: string;
|
|
23
|
-
code: string;
|
|
24
38
|
title: string;
|
|
25
39
|
description: string;
|
|
40
|
+
associationMandatory: boolean;
|
|
26
41
|
glAccount: string;
|
|
27
42
|
};
|
|
28
|
-
export type
|
|
43
|
+
export type NewFinanceDocumentLineCategory = Omit<FinanceDocumentLineCategory, 'id' | 'createdAt'>;
|
|
44
|
+
type BaseCostCenter = {
|
|
45
|
+
branchId: string;
|
|
46
|
+
name: string;
|
|
47
|
+
externalId?: string;
|
|
48
|
+
};
|
|
49
|
+
export type CostCenter = BaseCostCenter & {
|
|
50
|
+
createdAt: string;
|
|
51
|
+
createdBy: string;
|
|
52
|
+
id: string;
|
|
53
|
+
};
|
|
54
|
+
export type NewCostCenter = BaseCostCenter & {
|
|
55
|
+
createdAt?: undefined;
|
|
56
|
+
createdBy?: string;
|
|
57
|
+
id?: undefined;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
29
60
|
//# sourceMappingURL=document-categories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-categories.d.ts","sourceRoot":"/","sources":["types/document-categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,oBAAY,0BAA0B;IACpC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,
|
|
1
|
+
{"version":3,"file":"document-categories.d.ts","sourceRoot":"/","sources":["types/document-categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,oBAAY,0BAA0B;IACpC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,oBAAY,oBAAoB;IAC9B,cAAc,mBAAmB;IACjC,OAAO,YAAY;CACpB;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,oBAAoB,GAAG;IAClE,IAAI,EAAE,oBAAoB,CAAC,cAAc,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IAC3D,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,0BAA0B,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,8BAA8B,GAAG,uBAAuB,CAAC;AAExF,MAAM,MAAM,mBAAmB,GAAG,CAC9B,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,WAAW,CAAC,GACjD,IAAI,CAAC,8BAA8B,EAAE,IAAI,GAAG,WAAW,CAAC,CAC3D,GAAG;IACF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,2BAA2B,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC;AAEnG,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC"}
|
|
@@ -3,4 +3,9 @@ export var DocumentCategoryVisibility;
|
|
|
3
3
|
DocumentCategoryVisibility["Standard"] = "standard";
|
|
4
4
|
DocumentCategoryVisibility["Private"] = "private";
|
|
5
5
|
})(DocumentCategoryVisibility || (DocumentCategoryVisibility = {}));
|
|
6
|
+
export var DocumentCategoryType;
|
|
7
|
+
(function (DocumentCategoryType) {
|
|
8
|
+
DocumentCategoryType["Administrative"] = "administrative";
|
|
9
|
+
DocumentCategoryType["Finance"] = "finance";
|
|
10
|
+
})(DocumentCategoryType || (DocumentCategoryType = {}));
|
|
6
11
|
//# sourceMappingURL=document-categories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-categories.js","sourceRoot":"/","sources":["types/document-categories.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,mDAAqB,CAAA;IACrB,iDAAmB,CAAA;AACrB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC","sourcesContent":["import { TransactionType } from '@bisondesk/commons-sdk/types';\n\nexport enum DocumentCategoryVisibility {\n Standard = 'standard',\n Private = 'private',\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"document-categories.js","sourceRoot":"/","sources":["types/document-categories.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,mDAAqB,CAAA;IACrB,iDAAmB,CAAA;AACrB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yDAAiC,CAAA;IACjC,2CAAmB,CAAA;AACrB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B","sourcesContent":["import { TransactionType } from '@bisondesk/commons-sdk/types';\n\nexport enum DocumentCategoryVisibility {\n Standard = 'standard',\n Private = 'private',\n}\n\nexport enum DocumentCategoryType {\n Administrative = 'administrative',\n Finance = 'finance',\n}\n\ntype BaseDocumentCategory = {\n createdAt: string;\n branchId: string;\n id: string;\n type: DocumentCategoryType;\n title: string;\n};\n\nexport type AdministrativeDocumentCategory = BaseDocumentCategory & {\n type: DocumentCategoryType.Administrative;\n};\n\nexport type FinanceDocumentCategory = BaseDocumentCategory & {\n type: DocumentCategoryType.Finance;\n journal?: string;\n costCenter: string;\n visibility: DocumentCategoryVisibility;\n transactionType: TransactionType;\n validators?: string[];\n};\n\nexport type DocumentCategory = AdministrativeDocumentCategory | FinanceDocumentCategory;\n\nexport type NewDocumentCategory = (\n | Omit<FinanceDocumentCategory, 'id' | 'createdAt'>\n | Omit<AdministrativeDocumentCategory, 'id' | 'createdAt'>\n) & {\n createdAt?: undefined;\n id?: undefined;\n};\n\nexport type FinanceDocumentLineCategory = {\n createdAt: string;\n branchId: string;\n categoryId: string;\n id: string;\n title: string;\n description: string;\n associationMandatory: boolean;\n glAccount: string;\n};\n\nexport type NewFinanceDocumentLineCategory = Omit<FinanceDocumentLineCategory, 'id' | 'createdAt'>;\n\ntype BaseCostCenter = {\n branchId: string;\n name: string;\n externalId?: string;\n};\n\nexport type CostCenter = BaseCostCenter & {\n createdAt: string;\n createdBy: string;\n id: string;\n};\n\nexport type NewCostCenter = BaseCostCenter & {\n createdAt?: undefined;\n createdBy?: string;\n id?: undefined;\n};\n"]}
|