@bisondesk/documents-sdk 1.0.588 → 1.0.590

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/lib/apis/document-drafts.js.map +1 -1
  2. package/lib/apis/documents-search.js.map +1 -1
  3. package/lib/apis/documents.js.map +1 -1
  4. package/lib/constants/search.d.ts +473 -9
  5. package/lib/constants/search.d.ts.map +1 -1
  6. package/lib/constants/search.js +0 -18
  7. package/lib/constants/search.js.map +1 -1
  8. package/lib/types/ai.js.map +1 -1
  9. package/lib/types/documents.js.map +1 -1
  10. package/lib/utils/associations.js.map +1 -1
  11. package/lib/utils/finance-legacy.d.ts.map +1 -1
  12. package/lib/utils/finance-legacy.js.map +1 -1
  13. package/lib/utils/finance.js.map +1 -1
  14. package/lib/utils/vat.js.map +1 -1
  15. package/lib/utils/visibility.js.map +1 -1
  16. package/package.json +14 -10
  17. package/src/apis/document-drafts.ts +20 -20
  18. package/src/apis/documents-search.ts +2 -2
  19. package/src/apis/documents.ts +14 -14
  20. package/src/constants/index.js +45 -0
  21. package/src/constants/index.js.map +1 -0
  22. package/src/constants/search.js +240 -0
  23. package/src/constants/search.js.map +1 -0
  24. package/src/types/ai.ts +1 -1
  25. package/src/types/bank-accounts.js +2 -0
  26. package/src/types/bank-accounts.js.map +1 -0
  27. package/src/types/booking.js +2 -0
  28. package/src/types/booking.js.map +1 -0
  29. package/src/types/document-categories.js +11 -0
  30. package/src/types/document-categories.js.map +1 -0
  31. package/src/types/documents.js +68 -0
  32. package/src/types/documents.js.map +1 -0
  33. package/src/types/documents.ts +5 -5
  34. package/src/types/legacy.js +2 -0
  35. package/src/types/legacy.js.map +1 -0
  36. package/src/types/rules.js +15 -0
  37. package/src/types/rules.js.map +1 -0
  38. package/src/types/search.js +13 -0
  39. package/src/types/search.js.map +1 -0
  40. package/src/types/vat.js +2 -0
  41. package/src/types/vat.js.map +1 -0
  42. package/src/utils/associations.ts +3 -3
  43. package/src/utils/finance-legacy.ts +7 -7
  44. package/src/utils/finance.ts +20 -20
  45. package/src/utils/previews.js +2 -0
  46. package/src/utils/previews.js.map +1 -0
  47. package/src/utils/vat.ts +5 -5
  48. package/src/utils/visibility.ts +1 -1
  49. package/tsconfig.tsbuildinfo +1 -1
  50. package/lib/schemas.d.ts +0 -6
  51. package/lib/schemas.d.ts.map +0 -1
  52. package/lib/schemas.js +0 -127
  53. package/lib/schemas.js.map +0 -1
  54. package/src/constants/search.ts +0 -290
  55. package/src/schemas.ts +0 -144
package/lib/schemas.d.ts DELETED
@@ -1,6 +0,0 @@
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 newAdministrativedDocumentSchema: Joi.ObjectSchema<any>;
5
- export declare const AdministrativeDocumentSchema: Joi.ObjectSchema<any>;
6
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"/","sources":["schemas.ts"],"names":[],"mappings":"AAOA,OAAO,GAAG,MAAM,KAAK,CAAC;AAqCtB,eAAO,MAAM,UAAU,uBAoBrB,CAAC;AAEH,eAAO,MAAM,qBAAqB,uBA4DhC,CAAC;AAEH,eAAO,MAAM,gCAAgC,uBAS3C,CAAC;AAEH,eAAO,MAAM,4BAA4B,uBAIvC,CAAC"}
package/lib/schemas.js DELETED
@@ -1,127 +0,0 @@
1
- import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';
2
- import { attachmentValueSchema, getPhoneSchema, isoDateSchema, } 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().empty('').required(),
9
- language: Joi.string().empty(''),
10
- vatNumber: Joi.string().empty(''),
11
- addressLine1: Joi.string().empty(''),
12
- addressLine2: Joi.string().empty(''),
13
- postcode: Joi.string().empty(''),
14
- city: Joi.string().empty(''),
15
- country: Joi.string().required(),
16
- emails: Joi.array().items(Joi.string().empty('').email()),
17
- phone: getPhoneSchema(),
18
- contact: Joi.object({
19
- name: Joi.string().empty('').required(),
20
- username: Joi.string().empty('').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().empty('')),
31
- linkTo: Joi.object({
32
- businessEntityId: Joi.string().required(),
33
- recordId: Joi.string().required(),
34
- }),
35
- }));
36
- export const lineSchema = Joi.object({
37
- category: Joi.string().required(),
38
- amount: Joi.number().cast('string').required(),
39
- amountExcl: Joi.number().cast('string').required(),
40
- description: Joi.string().required(),
41
- foreign: Joi.object({
42
- amount: Joi.number().cast('string').required(),
43
- amountExcl: Joi.number().cast('string').required(),
44
- unitPriceExcl: Joi.number().cast('string').required(),
45
- vatAmount: Joi.number().cast('string').required(),
46
- }),
47
- invoiceLineId: Joi.string().empty('').uuid(),
48
- quantity: Joi.number().min(0).cast('string').required(),
49
- associations: associationsSchema,
50
- unitPriceExcl: Joi.number().cast('string').required(),
51
- vatAmount: Joi.number().cast('string').required(),
52
- vatCode: Joi.string().required(),
53
- vatPercentage: Joi.number().min(0).cast('string').required(),
54
- vatReason: Joi.string().empty(''),
55
- costCenterId: Joi.string().empty(''),
56
- });
57
- export const newFinanceDocV2Schema = Joi.object({
58
- id: Joi.string().uuid(),
59
- version: Joi.number().valid(2.0).default(2.0),
60
- reference: Joi.string().required(),
61
- type: Joi.string()
62
- .valid(...Object.values(FinanceDocType))
63
- .required(),
64
- subtype: Joi.string().required(),
65
- attachment: attachmentValueSchema.required(),
66
- branchId: Joi.string().required(),
67
- category: Joi.string().required(),
68
- organizationSummary: orgSummarySchema.required(),
69
- transferDescription: Joi.string().empty(''),
70
- invoiceId: Joi.string().uuid().empty(''),
71
- notes: Joi.string().empty(''),
72
- salesperson: Joi.object({
73
- name: Joi.string().required(),
74
- username: Joi.string().required(),
75
- }),
76
- paidAt: Joi.string().empty(''),
77
- tags: Joi.array().items(Joi.string().empty('')),
78
- total: Joi.object({
79
- amountExcl: Joi.number().min(0).cast('string').required(),
80
- amount: Joi.number().min(0).cast('string').required(),
81
- currencyCode: Joi.string().required(),
82
- foreign: Joi.object({
83
- amount: Joi.number().min(0).cast('string').required(),
84
- amountExcl: Joi.number().min(0).cast('string').required(),
85
- vatAmount: Joi.number().min(0).cast('string').required(),
86
- currencyCode: Joi.string().required(),
87
- exchangeRate: Joi.number().min(0).cast('string').required(),
88
- }),
89
- vatAmount: Joi.number().min(0).cast('string').required(),
90
- }),
91
- issueDate: isoDateSchema.required(),
92
- dueDate: isoDateSchema.empty(''),
93
- lines: Joi.array().items(lineSchema).required().default([]),
94
- reportingYear: Joi.number().min(0).cast('string'),
95
- reportingPeriod: Joi.number().min(0).cast('string'),
96
- accountingDescription: Joi.string().empty(''),
97
- peppol: Joi.object({
98
- extraAttachments: Joi.array()
99
- .items(attachmentValueSchema.keys({
100
- contentType: Joi.string().valid('application/pdf').required(),
101
- }))
102
- .max(9),
103
- additionalItemProperties: Joi.array().items(Joi.object({
104
- lineId: Joi.string().required(),
105
- properties: Joi.array().items(Joi.object({
106
- name: Joi.string().required(),
107
- value: Joi.string().required(),
108
- })),
109
- })),
110
- }),
111
- });
112
- export const newAdministrativedDocumentSchema = Joi.object({
113
- id: Joi.string(),
114
- displayName: Joi.string().empty(''),
115
- branchId: Joi.string().required(),
116
- attachment: attachmentValueSchema.required(),
117
- category: Joi.string().empty(''),
118
- tags: Joi.array().items(Joi.string().empty('')),
119
- associations: associationsSchema,
120
- organizationSummary: orgSummarySchema,
121
- });
122
- export const AdministrativeDocumentSchema = newAdministrativedDocumentSchema.keys({
123
- id: Joi.string().required(),
124
- createdAt: Joi.string().required(),
125
- createdBy: Joi.string().required(),
126
- });
127
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
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 {\n attachmentValueSchema,\n getPhoneSchema,\n isoDateSchema,\n} 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().empty('').required(),\n language: Joi.string().empty(''),\n vatNumber: Joi.string().empty(''),\n addressLine1: Joi.string().empty(''),\n addressLine2: Joi.string().empty(''),\n postcode: Joi.string().empty(''),\n city: Joi.string().empty(''),\n country: Joi.string().required(),\n emails: Joi.array().items(Joi.string().empty('').email()),\n phone: getPhoneSchema(),\n contact: Joi.object({\n name: Joi.string().empty('').required(),\n username: Joi.string().empty('').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().empty('')),\n linkTo: Joi.object({\n businessEntityId: Joi.string().required(),\n recordId: Joi.string().required(),\n }),\n })\n);\n\nexport const lineSchema = Joi.object({\n category: Joi.string().required(),\n amount: Joi.number().cast('string').required(),\n amountExcl: Joi.number().cast('string').required(),\n description: Joi.string().required(),\n foreign: Joi.object({\n amount: Joi.number().cast('string').required(),\n amountExcl: Joi.number().cast('string').required(),\n unitPriceExcl: Joi.number().cast('string').required(),\n vatAmount: Joi.number().cast('string').required(),\n }),\n invoiceLineId: Joi.string().empty('').uuid(),\n quantity: Joi.number().min(0).cast('string').required(),\n associations: associationsSchema,\n unitPriceExcl: Joi.number().cast('string').required(),\n vatAmount: Joi.number().cast('string').required(),\n vatCode: Joi.string().required(),\n vatPercentage: Joi.number().min(0).cast('string').required(),\n vatReason: Joi.string().empty(''),\n costCenterId: Joi.string().empty(''),\n});\n\nexport const newFinanceDocV2Schema = Joi.object({\n id: Joi.string().uuid(),\n version: Joi.number().valid(2.0).default(2.0),\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 transferDescription: Joi.string().empty(''),\n invoiceId: Joi.string().uuid().empty(''),\n notes: Joi.string().empty(''),\n salesperson: Joi.object({\n name: Joi.string().required(),\n username: Joi.string().required(),\n }),\n paidAt: Joi.string().empty(''),\n tags: Joi.array().items(Joi.string().empty('')),\n total: Joi.object({\n amountExcl: Joi.number().min(0).cast('string').required(),\n amount: Joi.number().min(0).cast('string').required(),\n currencyCode: Joi.string().required(),\n foreign: Joi.object({\n amount: Joi.number().min(0).cast('string').required(),\n amountExcl: Joi.number().min(0).cast('string').required(),\n vatAmount: Joi.number().min(0).cast('string').required(),\n currencyCode: Joi.string().required(),\n exchangeRate: Joi.number().min(0).cast('string').required(),\n }),\n vatAmount: Joi.number().min(0).cast('string').required(),\n }),\n issueDate: isoDateSchema.required(),\n dueDate: isoDateSchema.empty(''),\n lines: Joi.array().items(lineSchema).required().default([]),\n reportingYear: Joi.number().min(0).cast('string'),\n reportingPeriod: Joi.number().min(0).cast('string'),\n accountingDescription: Joi.string().empty(''),\n peppol: Joi.object({\n extraAttachments: Joi.array()\n .items(\n attachmentValueSchema.keys({\n contentType: Joi.string().valid('application/pdf').required(),\n })\n )\n .max(9),\n additionalItemProperties: Joi.array().items(\n Joi.object({\n lineId: Joi.string().required(),\n properties: Joi.array().items(\n Joi.object({\n name: Joi.string().required(),\n value: Joi.string().required(),\n })\n ),\n })\n ),\n }),\n});\n\nexport const newAdministrativedDocumentSchema = Joi.object({\n id: Joi.string(),\n displayName: Joi.string().empty(''),\n branchId: Joi.string().required(),\n attachment: attachmentValueSchema.required(),\n category: Joi.string().empty(''),\n tags: Joi.array().items(Joi.string().empty('')),\n associations: associationsSchema,\n organizationSummary: orgSummarySchema,\n});\n\nexport const AdministrativeDocumentSchema = newAdministrativedDocumentSchema.keys({\n id: Joi.string().required(),\n createdAt: Joi.string().required(),\n createdBy: Joi.string().required(),\n});\n"]}
@@ -1,290 +0,0 @@
1
- import { DEFAULT_EXACT_MATCH_BOOST } from '@bisondesk/commons/es';
2
- import { getTranslatedTitles } from '@bisondesk/commons/translations';
3
- import {
4
- EsAggregationsDefinition,
5
- EsDefinition,
6
- EsDefinitionField,
7
- EsFullTextSearchDefinition,
8
- SearchDefinition,
9
- SearchField,
10
- } from '@bisondesk/core-sdk/types/definitions';
11
- import { DateGranularity, FieldTypes } from '@bisondesk/core-sdk/types/fields';
12
- import { AggregationType } from '@bisondesk/core-sdk/types/search';
13
- import { UTCDate } from '@date-fns/utc';
14
- import { getTime, parseISO, setHours, setMinutes, setSeconds } from 'date-fns';
15
-
16
- const BASE_DOC_DRAFT_MAPPING_FIELDS: {
17
- [fieldId: string]: EsDefinitionField;
18
- } = {
19
- 'doc.id': {
20
- esMapping: { type: 'keyword', boost: DEFAULT_EXACT_MATCH_BOOST },
21
- },
22
- 'doc.status': {
23
- esMapping: { type: 'keyword' },
24
- },
25
- 'doc.documentType': {
26
- esMapping: { type: 'keyword' },
27
- },
28
- 'doc.category': {
29
- esMapping: { type: 'keyword' },
30
- },
31
- 'doc.branchId': {
32
- esMapping: { type: 'keyword' },
33
- },
34
- 'doc.attachment': {
35
- esMapping: { type: 'object', enabled: false },
36
- },
37
- 'doc.createdAt': {
38
- esMapping: { type: 'date' },
39
- },
40
- 'doc.createdBy': {
41
- esMapping: { type: 'keyword' },
42
- },
43
- 'custom.stage': {
44
- esMapping: { type: 'keyword' },
45
- },
46
- 'custom.rejected': {
47
- esMapping: { type: 'boolean' },
48
- },
49
- 'custom.validationRulesStatus': {
50
- esMapping: { type: 'keyword' },
51
- },
52
- 'custom.businessValidationAt': {
53
- esMapping: { type: 'date' },
54
- },
55
- };
56
-
57
- const FINANCE_DOC_DRAFT_MAPPING_FIELDS: {
58
- [fieldId: string]: EsDefinitionField;
59
- } = {
60
- 'doc.type': {
61
- esMapping: { type: 'keyword' },
62
- },
63
- 'doc.subtype': {
64
- esMapping: { type: 'keyword' },
65
- },
66
- 'doc.reference': {
67
- esMapping: { type: 'keyword', boost: DEFAULT_EXACT_MATCH_BOOST },
68
- },
69
- 'doc.issueDate': {
70
- esMapping: { type: 'date', ignore_malformed: true },
71
- },
72
- 'doc.dueDate': {
73
- esMapping: { type: 'date', ignore_malformed: true },
74
- },
75
-
76
- 'doc.organizationSummary.name': {
77
- esMapping: { type: 'text' },
78
- },
79
- 'doc.organizationSummary.id': {
80
- esMapping: { type: 'keyword' },
81
- },
82
- 'doc.organizationSummary.code': {
83
- esMapping: { type: 'keyword' },
84
- },
85
- 'doc.organizationSummary.vatNumber': {
86
- esMapping: { type: 'text' },
87
- },
88
-
89
- 'doc.lines.associations.businessEntityId': {
90
- esMapping: { type: 'keyword' },
91
- },
92
- 'doc.lines.associations.recordId': {
93
- esMapping: { type: 'keyword' },
94
- },
95
- 'doc.lines.associations.title': {
96
- esMapping: { type: 'text' },
97
- },
98
- 'doc.lines.associations.description': {
99
- esMapping: { type: 'text' },
100
- },
101
- 'doc.lines.associations.tags': {
102
- esMapping: { type: 'keyword' },
103
- },
104
- 'doc.invoiceId': {
105
- esMapping: { type: 'keyword' },
106
- },
107
- 'custom.validators': {
108
- esMapping: { type: 'keyword' },
109
- },
110
- 'custom.restrictedDraftUsers': {
111
- esMapping: { type: 'keyword' },
112
- },
113
- };
114
-
115
- const ADMIN_DOC_DRAFT_MAPPING_FIELDS: {
116
- [fieldId: string]: EsDefinitionField;
117
- } = {
118
- 'doc.tags': {
119
- esMapping: { type: 'text' },
120
- },
121
- 'doc.associations.businessEntityId': {
122
- esMapping: { type: 'keyword' },
123
- },
124
- 'doc.associations.recordId': {
125
- esMapping: { type: 'keyword' },
126
- },
127
- 'doc.associations.title': {
128
- esMapping: { type: 'text' },
129
- },
130
- 'doc.associations.description': {
131
- esMapping: { type: 'text' },
132
- },
133
- 'doc.associations.tags': {
134
- esMapping: { type: 'keyword' },
135
- },
136
- };
137
-
138
- export const DOC_DRAFT_MAPPING_FIELDS: {
139
- [fieldId: string]: EsDefinitionField;
140
- } = {
141
- ...BASE_DOC_DRAFT_MAPPING_FIELDS,
142
- ...FINANCE_DOC_DRAFT_MAPPING_FIELDS,
143
- ...ADMIN_DOC_DRAFT_MAPPING_FIELDS,
144
- };
145
-
146
- export const DOC_DRAFT_DEFINITION_FIELDS: {
147
- [fieldId: string]: SearchField;
148
- } = {
149
- 'doc.id': {
150
- id: 'doc.id',
151
- titles: getTranslatedTitles('id'),
152
- type: FieldTypes.text,
153
- },
154
- 'custom.stage': {
155
- id: 'custom.stage',
156
- titles: getTranslatedTitles('aggs.draft.stage'),
157
- type: FieldTypes.text,
158
- },
159
- 'doc.documentType': {
160
- id: 'doc.documentType',
161
- titles: getTranslatedTitles('aggs.draft.documentType'),
162
- type: FieldTypes.text,
163
- },
164
- 'doc.branchId': {
165
- id: 'doc.branchId',
166
- titles: getTranslatedTitles('branch'),
167
- type: FieldTypes.text,
168
- },
169
- 'doc.createdAt': {
170
- id: 'doc.createdAt',
171
- titles: getTranslatedTitles('aggs.creationDate'),
172
- type: FieldTypes.date,
173
- meta: {
174
- granularity: DateGranularity.yearMonthDayTime,
175
- },
176
- },
177
- 'custom.validationRulesStatus': {
178
- id: 'custom.validationRulesStatus',
179
- titles: getTranslatedTitles('aggs.draft.validationRules'),
180
- type: FieldTypes.text,
181
- },
182
- 'doc.createdBy': {
183
- id: 'doc.createdBy',
184
- titles: getTranslatedTitles('aggs.createdBy'),
185
- type: FieldTypes.collaborator,
186
- },
187
- // Finance fields
188
- 'doc.subtype': {
189
- id: 'doc.subtype',
190
- titles: getTranslatedTitles('type'),
191
- type: FieldTypes.text,
192
- },
193
- 'custom.rejected': {
194
- id: 'custom.rejected',
195
- titles: getTranslatedTitles('aggs.draft.rejected'),
196
- type: FieldTypes.checkbox,
197
- },
198
- 'custom.restrictedDraftUsers': {
199
- id: 'custom.restrictedDraftUsers',
200
- titles: getTranslatedTitles('agg.drafts.restrictedDraftUsers'),
201
- type: FieldTypes.text,
202
- },
203
- };
204
-
205
- export const getSearchDocumentDraftsAggs = (): EsAggregationsDefinition => [
206
- {
207
- titles: getTranslatedTitles('aggs.draft.stage'),
208
- fieldId: 'custom.stage',
209
- fieldType: FieldTypes.text,
210
- type: AggregationType.term,
211
- orderBy: 'count',
212
- },
213
- {
214
- titles: getTranslatedTitles('aggs.draft.documentType'),
215
- fieldId: 'doc.documentType',
216
- fieldType: FieldTypes.text,
217
- type: AggregationType.term,
218
- orderBy: 'count',
219
- },
220
- {
221
- titles: getTranslatedTitles('type'),
222
- fieldId: 'doc.subtype',
223
- fieldType: FieldTypes.text,
224
- type: AggregationType.term,
225
- orderBy: 'count',
226
- },
227
- {
228
- titles: getTranslatedTitles('aggs.draft.rejected'),
229
- fieldId: 'custom.rejected',
230
- fieldType: FieldTypes.checkbox,
231
- type: AggregationType.term,
232
- orderBy: 'count',
233
- },
234
- {
235
- titles: getTranslatedTitles('aggs.draft.validationRules'),
236
- fieldId: 'custom.validationRulesStatus',
237
- fieldType: FieldTypes.text,
238
- type: AggregationType.term,
239
- orderBy: 'count',
240
- },
241
- {
242
- titles: getTranslatedTitles('aggs.creationDate'),
243
- fieldId: 'doc.createdAt',
244
- step: 1,
245
- type: AggregationType.range,
246
- ranges: [
247
- {
248
- start: getTime(parseISO('2015-01-01')),
249
- end: getTime(setSeconds(setMinutes(setHours(new UTCDate(), 23), 59), 59)),
250
- },
251
- ],
252
- },
253
- {
254
- titles: getTranslatedTitles('aggs.draft.restrictedDraftUsers'),
255
- fieldId: 'custom.restrictedDraftUsers',
256
- fieldType: FieldTypes.text,
257
- type: AggregationType.term,
258
- orderBy: 'count',
259
- },
260
- ];
261
-
262
- export const SEARCH_DOC_DRAFT_FULL_TEXT_FIELDS: EsFullTextSearchDefinition = [
263
- // finance fields
264
- () => 'doc.id',
265
- () => 'doc.reference',
266
- () => 'doc.tags',
267
- () => 'doc.lines.associations.tags',
268
- // administrative fields
269
- () => 'doc.tags',
270
- () => 'doc.associations.tags',
271
- // OrgSummary fields
272
- () => 'doc.organizationSummary.name',
273
- () => 'doc.organizationSummary.id',
274
- () => 'doc.organizationSummary.code',
275
- () => 'doc.organizationSummary.vatNumber',
276
- ];
277
-
278
- export const SEARCH_DOC_DRAFTS_MAPPINGS: EsDefinition = {
279
- name: 'document_drafts',
280
- nestedEsPaths: [],
281
- fields: {
282
- ...DOC_DRAFT_MAPPING_FIELDS,
283
- },
284
- };
285
-
286
- export const SEARCH_DOC_DRAFTS_DEFINITION: SearchDefinition = {
287
- fields: {
288
- ...DOC_DRAFT_DEFINITION_FIELDS,
289
- },
290
- };
package/src/schemas.ts DELETED
@@ -1,144 +0,0 @@
1
- import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';
2
- import {
3
- attachmentValueSchema,
4
- getPhoneSchema,
5
- isoDateSchema,
6
- } from '@bisondesk/commons/joi-schemas';
7
- import { FinanceDocType } from '@bisondesk/documents-sdk/types/documents';
8
- import Joi from 'joi';
9
-
10
- const orgSummarySchema = Joi.object({
11
- id: Joi.string().required(),
12
- code: Joi.number().required(),
13
- name: Joi.string().empty('').required(),
14
- language: Joi.string().empty(''),
15
- vatNumber: Joi.string().empty(''),
16
- addressLine1: Joi.string().empty(''),
17
- addressLine2: Joi.string().empty(''),
18
- postcode: Joi.string().empty(''),
19
- city: Joi.string().empty(''),
20
- country: Joi.string().required(),
21
- emails: Joi.array().items(Joi.string().empty('').email()),
22
- phone: getPhoneSchema(),
23
- contact: Joi.object({
24
- name: Joi.string().empty('').required(),
25
- username: Joi.string().empty('').required(),
26
- }),
27
- });
28
-
29
- const associationsSchema = Joi.array().items(
30
- Joi.object({
31
- businessEntityId: Joi.string()
32
- .valid(...Object.values(BusinessEntityIds))
33
- .required(),
34
- recordId: Joi.string().required(),
35
- title: Joi.string().required(),
36
- description: Joi.string().required(),
37
- tags: Joi.array().items(Joi.string().empty('')),
38
- linkTo: Joi.object({
39
- businessEntityId: Joi.string().required(),
40
- recordId: Joi.string().required(),
41
- }),
42
- })
43
- );
44
-
45
- export const lineSchema = Joi.object({
46
- category: Joi.string().required(),
47
- amount: Joi.number().cast('string').required(),
48
- amountExcl: Joi.number().cast('string').required(),
49
- description: Joi.string().required(),
50
- foreign: Joi.object({
51
- amount: Joi.number().cast('string').required(),
52
- amountExcl: Joi.number().cast('string').required(),
53
- unitPriceExcl: Joi.number().cast('string').required(),
54
- vatAmount: Joi.number().cast('string').required(),
55
- }),
56
- invoiceLineId: Joi.string().empty('').uuid(),
57
- quantity: Joi.number().min(0).cast('string').required(),
58
- associations: associationsSchema,
59
- unitPriceExcl: Joi.number().cast('string').required(),
60
- vatAmount: Joi.number().cast('string').required(),
61
- vatCode: Joi.string().required(),
62
- vatPercentage: Joi.number().min(0).cast('string').required(),
63
- vatReason: Joi.string().empty(''),
64
- costCenterId: Joi.string().empty(''),
65
- });
66
-
67
- export const newFinanceDocV2Schema = Joi.object({
68
- id: Joi.string().uuid(),
69
- version: Joi.number().valid(2.0).default(2.0),
70
- reference: Joi.string().required(),
71
- type: Joi.string()
72
- .valid(...Object.values(FinanceDocType))
73
- .required(),
74
- subtype: Joi.string().required(),
75
- attachment: attachmentValueSchema.required(),
76
- branchId: Joi.string().required(),
77
- category: Joi.string().required(),
78
- organizationSummary: orgSummarySchema.required(),
79
- transferDescription: Joi.string().empty(''),
80
- invoiceId: Joi.string().uuid().empty(''),
81
- notes: Joi.string().empty(''),
82
- salesperson: Joi.object({
83
- name: Joi.string().required(),
84
- username: Joi.string().required(),
85
- }),
86
- paidAt: Joi.string().empty(''),
87
- tags: Joi.array().items(Joi.string().empty('')),
88
- total: Joi.object({
89
- amountExcl: Joi.number().min(0).cast('string').required(),
90
- amount: Joi.number().min(0).cast('string').required(),
91
- currencyCode: Joi.string().required(),
92
- foreign: Joi.object({
93
- amount: Joi.number().min(0).cast('string').required(),
94
- amountExcl: Joi.number().min(0).cast('string').required(),
95
- vatAmount: Joi.number().min(0).cast('string').required(),
96
- currencyCode: Joi.string().required(),
97
- exchangeRate: Joi.number().min(0).cast('string').required(),
98
- }),
99
- vatAmount: Joi.number().min(0).cast('string').required(),
100
- }),
101
- issueDate: isoDateSchema.required(),
102
- dueDate: isoDateSchema.empty(''),
103
- lines: Joi.array().items(lineSchema).required().default([]),
104
- reportingYear: Joi.number().min(0).cast('string'),
105
- reportingPeriod: Joi.number().min(0).cast('string'),
106
- accountingDescription: Joi.string().empty(''),
107
- peppol: Joi.object({
108
- extraAttachments: Joi.array()
109
- .items(
110
- attachmentValueSchema.keys({
111
- contentType: Joi.string().valid('application/pdf').required(),
112
- })
113
- )
114
- .max(9),
115
- additionalItemProperties: Joi.array().items(
116
- Joi.object({
117
- lineId: Joi.string().required(),
118
- properties: Joi.array().items(
119
- Joi.object({
120
- name: Joi.string().required(),
121
- value: Joi.string().required(),
122
- })
123
- ),
124
- })
125
- ),
126
- }),
127
- });
128
-
129
- export const newAdministrativedDocumentSchema = Joi.object({
130
- id: Joi.string(),
131
- displayName: Joi.string().empty(''),
132
- branchId: Joi.string().required(),
133
- attachment: attachmentValueSchema.required(),
134
- category: Joi.string().empty(''),
135
- tags: Joi.array().items(Joi.string().empty('')),
136
- associations: associationsSchema,
137
- organizationSummary: orgSummarySchema,
138
- });
139
-
140
- export const AdministrativeDocumentSchema = newAdministrativedDocumentSchema.keys({
141
- id: Joi.string().required(),
142
- createdAt: Joi.string().required(),
143
- createdBy: Joi.string().required(),
144
- });