@nomalism-com/types 0.37.6 → 0.37.7
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/.editorconfig +9 -0
- package/.prettierrc +7 -0
- package/eslint.config.mjs +39 -0
- package/package-lock.json +4327 -0
- package/package.json +1 -4
- package/src/index.ts +3 -0
- package/src/main.ts +672 -0
- package/src/modules/document/billOfLading/interfaces.ts +26 -0
- package/src/modules/document/billOfLading/route.schema.ts +32 -0
- package/src/modules/document/inventario/interface.ts +19 -0
- package/src/modules/document/inventario/route.schema.ts +16 -0
- package/src/modules/document/materialEntrance/interfaces.ts +207 -0
- package/src/modules/document/materialEntrance/route.schema.ts +53 -0
- package/src/modules/document/order/interfaces.ts +172 -0
- package/src/modules/document/order/route.schema.ts +61 -0
- package/src/modules/document/productionOrder/interfaces.ts +12 -0
- package/src/modules/document/productionOrder/route.schema.ts +13 -0
- package/src/modules/document/proforma/interfaces.ts +15 -0
- package/src/modules/document/proforma/route.schema.ts +14 -0
- package/src/modules/document/propostaFornecedor/interfaces.ts +17 -0
- package/src/modules/document/propostaFornecedor/route.schema.ts +21 -0
- package/src/modules/document/propostaSheets/interface.ts +113 -0
- package/src/modules/document/propostaSheets/route.schema.ts +45 -0
- package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +48 -0
- package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +41 -0
- package/src/modules/document/providerFinancialCreditNote/interfaces.ts +36 -0
- package/src/modules/document/providerFinancialCreditNote/route.schema.ts +40 -0
- package/src/modules/document/providerServiceInvoice/interfaces.ts +20 -0
- package/src/modules/document/providerServiceInvoice/route.schema.ts +26 -0
- package/src/modules/document/purchase/interfaces.ts +112 -0
- package/src/modules/document/purchase/route.schema.ts +51 -0
- package/src/modules/document/quebra/interfaces.ts +46 -0
- package/src/modules/document/quebra/route.schema.ts +25 -0
- package/src/modules/document/returnToProvider/interface.ts +59 -0
- package/src/modules/document/returnToProvider/route.schema.ts +27 -0
- package/src/modules/document/transformado/interfaces.ts +31 -0
- package/src/modules/document/transformado/route.schema.ts +26 -0
- package/src/modules/document/upfrontReturn/interfaces.ts +17 -0
- package/src/modules/document/upfrontReturn/route.schema.ts +11 -0
- package/src/modules/documentManagement/multimedia/interfaces.ts +22 -0
- package/src/modules/documentManagement/multimedia/route.schema.ts +9 -0
- package/src/modules/integration/emailLog/interfaces.ts +111 -0
- package/src/modules/integration/emailLog/route.schema.ts +18 -0
- package/src/modules/integration/emailTemplate/interfaces.ts +55 -0
- package/src/modules/integration/emailTemplate/route.schema.ts +95 -0
- package/src/modules/integration/emailTemplateAttachment/interfaces.ts +22 -0
- package/src/modules/integration/emailTemplateAttachment/route.schema.ts +12 -0
- package/src/modules/integration/emailVerification/interfaces.ts +30 -0
- package/src/modules/integration/emailVerification/route.schema.ts +34 -0
- package/src/modules/integration/googleFilePermission/interfaces.ts +32 -0
- package/src/modules/integration/googleFilePermission/route.schema.ts +15 -0
- package/src/modules/integration/googleSheets/interfaces.ts +98 -0
- package/src/modules/integration/googleSheets/route.schema.ts +52 -0
- package/src/modules/integration/observation/interfaces.ts +61 -0
- package/src/modules/integration/observation/route.schema.ts +40 -0
- package/src/modules/integration/observationType/interfaces.ts +37 -0
- package/src/modules/integration/observationType/route.schema.ts +17 -0
- package/src/modules/integration/projectInfo/interfaces.ts +26 -0
- package/src/modules/integration/projectInfo/route.schema.ts +18 -0
- package/src/modules/integration/settings/interfaces.ts +31 -0
- package/src/modules/integration/settings/route.schema.ts +24 -0
- package/src/modules/print/npc/interfaces.ts +34 -0
- package/src/modules/print/npc/route.schema.ts +21 -0
- package/src/modules/print/printer/interfaces.ts +47 -0
- package/src/modules/print/printer/route.schema.ts +60 -0
- package/src/modules/print/schedulePrintJob/interfaces.ts +48 -0
- package/src/modules/print/schedulePrintJob/route.schema.ts +39 -0
- package/src/modules/stock/chat/interfaces.ts +82 -0
- package/src/modules/stock/chat/route.schema.ts +28 -0
- package/src/modules/stock/chatRapidMessage/interface.ts +31 -0
- package/src/modules/stock/chatRapidMessage/route.schema.ts +18 -0
- package/src/modules/stock/dashboard/interface.ts +25 -0
- package/src/modules/stock/dashboard/route.schema.ts +11 -0
- package/src/modules/stock/file/interface.ts +37 -0
- package/src/modules/stock/file/route.schema.ts +37 -0
- package/src/modules/stock/location/interface.ts +77 -0
- package/src/modules/stock/location/route.schema.ts +57 -0
- package/src/modules/stock/prison/interface.ts +70 -0
- package/src/modules/stock/prison/route.schema.ts +50 -0
- package/src/modules/stock/productGoogleSheets/interface.ts +339 -0
- package/src/modules/stock/productGoogleSheets/route.schema.ts +146 -0
- package/src/modules/stock/productImage/interface.ts +69 -0
- package/src/modules/stock/productImage/route.schema.ts +52 -0
- package/src/modules/stock/promotion/interface.ts +61 -0
- package/src/modules/stock/promotion/route.schema.ts +39 -0
- package/src/modules/stock/promotionAssoc/interface.ts +62 -0
- package/src/modules/stock/promotionAssoc/route.schema.ts +35 -0
- package/src/modules/stock/queryList/interfaces.ts +56 -0
- package/src/modules/stock/queryList/route.schema.ts +37 -0
- package/src/modules/stock/queryParameter/interfaces.ts +72 -0
- package/src/modules/stock/queryParameter/route.schema.ts +36 -0
- package/src/modules/stock/recurrentTasks/interface.ts +12 -0
- package/src/modules/stock/returnReason/interfaces.ts +23 -0
- package/src/modules/stock/returnReason/route.schema.ts +14 -0
- package/src/modules/stock/savedEmPicking/interfaces.ts +37 -0
- package/src/modules/stock/savedEmPicking/route.schema.ts +113 -0
- package/src/modules/stock/savedProviderProposal/interfaces.ts +32 -0
- package/src/modules/stock/savedProviderProposal/route.schema.ts +16 -0
- package/src/modules/stock/sideMenu/interface.ts +48 -0
- package/src/modules/stock/sideMenu/route.schema.ts +20 -0
- package/src/modules/stock/stockMovement/interface.ts +78 -0
- package/src/modules/stock/stockMovement/route.schema.ts +34 -0
- package/src/modules/stock/tag/interface.ts +36 -0
- package/src/modules/stock/tag/route.schema.ts +30 -0
- package/src/modules/stock/task/interface.ts +126 -0
- package/src/modules/stock/task/route.schema.ts +48 -0
- package/src/modules/stock/taskMessage/interface.ts +18 -0
- package/src/modules/stock/taskMessage/route.schema.ts +19 -0
- package/src/modules/stock/taskRead/interface.ts +17 -0
- package/src/modules/stock/taskRead/route.schema.ts +18 -0
- package/src/modules/stock/typeOfLocation/interface.ts +51 -0
- package/src/modules/stock/typeOfLocation/route.schema.ts +29 -0
- package/src/modules/stock/unitOfMeasure/interface.ts +64 -0
- package/src/modules/stock/unitOfMeasure/route.schema.ts +41 -0
- package/src/modules/stock/vatTax/interface.ts +55 -0
- package/src/modules/stock/vatTax/route.schema.ts +33 -0
- package/src/modules/stock/vatTaxZone/interface.ts +63 -0
- package/src/modules/stock/vatTaxZone/route.schema.ts +42 -0
- package/src/modules/stock/vatValidation/interfaces.ts +10 -0
- package/src/modules/stock/vatValidation/route.schema.ts +8 -0
- package/src/modules/stock/workflow/interfaces.ts +64 -0
- package/src/modules/stock/workflow/route.schema.ts +28 -0
- package/src/modules/supply/batch/interface.ts +0 -0
- package/src/modules/supply/documentHeader/interfaces.ts +497 -0
- package/src/modules/supply/documentHeader/route.schema.ts +371 -0
- package/src/modules/supply/documentHeaderHistory/interfaces.ts +15 -0
- package/src/modules/supply/documentLine/interfaces.ts +210 -0
- package/src/modules/supply/documentLine/route.schema.ts +108 -0
- package/src/modules/supply/documentLineAssoc/interfaces.ts +52 -0
- package/src/modules/supply/documentLineAssoc/route.schema.ts +16 -0
- package/src/modules/supply/documentLineMT/interface.ts +27 -0
- package/src/modules/supply/documentLineMT/route.schema.ts +18 -0
- package/src/modules/supply/documentLineNote/interfaces.ts +53 -0
- package/src/modules/supply/documentLineNote/route.schema.ts +19 -0
- package/src/modules/supply/documentLineRM/interface.ts +34 -0
- package/src/modules/supply/documentLineRM/route.schema.ts +25 -0
- package/src/modules/supply/documentSet/interface.ts +31 -0
- package/src/modules/supply/documentSet/route.schema.ts +20 -0
- package/src/modules/supply/documentType/interfaces.ts +214 -0
- package/src/modules/supply/documentType/route.schema.ts +75 -0
- package/src/modules/supply/externalDocumentHeader/interface.ts +120 -0
- package/src/modules/supply/externalDocumentHeader/route.schema.ts +79 -0
- package/src/modules/supply/externalDocumentType/interface.ts +14 -0
- package/src/modules/supply/orderManagement/interface.ts +49 -0
- package/src/modules/supply/orderManagement/route.schema.ts +0 -0
- package/src/modules/supply/payment/interface.ts +229 -0
- package/src/modules/supply/payment/route.schema.ts +122 -0
- package/src/modules/supply/preSale/interface.ts +92 -0
- package/src/modules/supply/preSale/route.schema.ts +75 -0
- package/src/modules/supply/preSaleProduct/interface.ts +16 -0
- package/src/modules/supply/preSaleProduct/route.schema.ts +7 -0
- package/src/modules/supply/schedule/interface.ts +47 -0
- package/src/modules/supply/schedule/route.schema.ts +14 -0
- package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +15 -0
- package/src/modules/tickets/channel/interfaces.ts +35 -0
- package/src/modules/tickets/channel/route.schema.ts +24 -0
- package/src/modules/tickets/clt/interfaces.ts +26 -0
- package/src/modules/tickets/clt/route.schema.ts +24 -0
- package/src/modules/tickets/language/interfaces.ts +25 -0
- package/src/modules/tickets/language/route.schema.ts +28 -0
- package/src/modules/tickets/tickets/interfaces.ts +80 -0
- package/src/modules/tickets/tickets/route.schema.ts +19 -0
- package/src/modules/user/bankData/interface.ts +64 -0
- package/src/modules/user/bankData/route.schema.ts +40 -0
- package/src/modules/user/chatSubscribers/interfaces.ts +34 -0
- package/src/modules/user/chatSubscribers/route.schema.ts +12 -0
- package/src/modules/user/clientType/interface.ts +47 -0
- package/src/modules/user/clientType/route.schema.ts +31 -0
- package/src/modules/user/clients/interface.ts +138 -0
- package/src/modules/user/clients/route.schema.ts +87 -0
- package/src/modules/user/commissioner/interface.ts +110 -0
- package/src/modules/user/commissioner/route.schema.ts +65 -0
- package/src/modules/user/country/interface.ts +54 -0
- package/src/modules/user/country/route.schema.ts +36 -0
- package/src/modules/user/deliveryMethods/interfaces.ts +28 -0
- package/src/modules/user/deliveryMethods/route.schema.ts +15 -0
- package/src/modules/user/favorites/interfaces.ts +28 -0
- package/src/modules/user/favorites/route.schema.ts +19 -0
- package/src/modules/user/groupPermissions/interface.ts +32 -0
- package/src/modules/user/groupPermissions/route.schema.ts +11 -0
- package/src/modules/user/language/interface.ts +47 -0
- package/src/modules/user/language/route.schema.ts +28 -0
- package/src/modules/user/maturityDates/interfaces.ts +31 -0
- package/src/modules/user/maturityDates/route.schema.ts +18 -0
- package/src/modules/user/password/interfaces.ts +21 -0
- package/src/modules/user/password/route.schema.ts +22 -0
- package/src/modules/user/paymentMethods/interfaces.ts +72 -0
- package/src/modules/user/paymentMethods/route.schema.ts +27 -0
- package/src/modules/user/permissions/interface.ts +34 -0
- package/src/modules/user/permissions/route.schema.ts +11 -0
- package/src/modules/user/persona/interface.ts +157 -0
- package/src/modules/user/persona/route.schema.ts +101 -0
- package/src/modules/user/providerType/interface.ts +47 -0
- package/src/modules/user/providerType/route.schema.ts +28 -0
- package/src/modules/user/providers/interface.ts +130 -0
- package/src/modules/user/providers/route.schema.ts +85 -0
- package/src/modules/user/purchaseConditions/interface.ts +58 -0
- package/src/modules/user/purchaseConditions/route.schema.ts +33 -0
- package/src/modules/user/reasonForExemption/interface.ts +53 -0
- package/src/modules/user/reasonForExemption/route.schema.ts +34 -0
- package/src/modules/user/refreshToken/interface.ts +19 -0
- package/src/modules/user/refreshToken/route.schema.ts +10 -0
- package/src/modules/user/segmentsArea/interface.ts +49 -0
- package/src/modules/user/segmentsArea/route.schema.ts +30 -0
- package/src/modules/user/sessions/interface.ts +24 -0
- package/src/modules/user/sessions/route.schema.ts +10 -0
- package/src/modules/user/shippings/interface.ts +57 -0
- package/src/modules/user/shippings/route.schema.ts +35 -0
- package/src/modules/user/storeOperator/interface.ts +42 -0
- package/src/modules/user/storeOperator/route.schema.ts +45 -0
- package/src/modules/user/swift/interface.ts +55 -0
- package/src/modules/user/swift/route.schema.ts +36 -0
- package/src/modules/user/tenant/interface.ts +59 -0
- package/src/modules/user/tenant/route.schema.ts +46 -0
- package/src/modules/user/theme/interfaces.ts +21 -0
- package/src/modules/user/theme/route.schema.ts +19 -0
- package/src/modules/user/userPermissions/interface.ts +28 -0
- package/src/modules/user/userPermissions/route.schema.ts +12 -0
- package/src/modules/user/userPositions/interface.ts +47 -0
- package/src/modules/user/userPositions/route.schema.ts +29 -0
- package/src/modules/user/userTokens/interface.ts +41 -0
- package/src/modules/user/userTokens/route.schema.ts +17 -0
- package/src/modules/user/users/interface.ts +177 -0
- package/src/modules/user/users/route.schema.ts +58 -0
- package/src/modules/user/vehicles/interfaces.ts +31 -0
- package/src/modules/user/vehicles/route.schema.ts +17 -0
- package/src/modules/user/zipCode/interfaces.ts +27 -0
- package/src/modules/user/zipCode/route.schema.ts +26 -0
- package/src/modules/view/adminPanel/interfaces.ts +180 -0
- package/src/modules/view/errorLog/interfaces.ts +36 -0
- package/src/modules/view/errorLog/route.schema.ts +25 -0
- package/src/shared/entities/documentManagement.ts +16 -0
- package/src/shared/entities/integration.ts +136 -0
- package/src/shared/entities/print.ts +49 -0
- package/src/shared/entities/stock.ts +1248 -0
- package/src/shared/entities/tickets.ts +82 -0
- package/src/shared/entities/user.ts +540 -0
- package/src/shared/errors/documentManagementErrors.ts +13 -0
- package/src/shared/errors/integrationErrors.ts +44 -0
- package/src/shared/errors/stockErrors.ts +267 -0
- package/src/shared/errors/userErrors.ts +108 -0
- package/src/shared/errors/viewErrors.ts +6 -0
- package/src/shared/interface.ts +548 -0
- package/src/shared/messages.ts +141 -0
- package/tsconfig.json +20 -0
- package/tsup.config.ts +10 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import {
|
|
5
|
+
ICreateRequest,
|
|
6
|
+
IPrintLabelParamsRequest,
|
|
7
|
+
IPrintLabelQueryRequest,
|
|
8
|
+
IUpdateDataRequest,
|
|
9
|
+
IUpdateManyRequest,
|
|
10
|
+
IUpdateRequest,
|
|
11
|
+
} from './interfaces';
|
|
12
|
+
|
|
13
|
+
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
14
|
+
product_id: joi.string().uuid().allow(null).optional(),
|
|
15
|
+
// user to merge lines
|
|
16
|
+
document_line_id: joi.string().uuid().optional(),
|
|
17
|
+
// assoc specific
|
|
18
|
+
document_header_id: joi.string().uuid().required(),
|
|
19
|
+
// index: joi.number().integer().default(0).optional(),
|
|
20
|
+
quantity: joi.number().positive().allow(0).default(0).required(),
|
|
21
|
+
preco_venda: joi.number().positive().allow(0).default(0).required(),
|
|
22
|
+
client_tax: joi.number().positive().allow(0).required(),
|
|
23
|
+
client_discount: joi.number().positive().allow(0).default(0).max(100).required(),
|
|
24
|
+
preco_custo: joi.number().positive().allow(0).default(0).required(),
|
|
25
|
+
provider_tax: joi.number().positive().allow(0).required(),
|
|
26
|
+
provider_discount: joi.number().positive().allow(0).default(0).max(100).required(),
|
|
27
|
+
document_line_group_id: joi.string().optional(),
|
|
28
|
+
data: joi
|
|
29
|
+
.object()
|
|
30
|
+
.pattern(
|
|
31
|
+
joi.string(),
|
|
32
|
+
joi.object().keys({
|
|
33
|
+
value: joi.any().required(),
|
|
34
|
+
}),
|
|
35
|
+
)
|
|
36
|
+
.allow({}),
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const createBody = joi.array().items(joi.object().keys(createBodyKeys)).messages(messages);
|
|
40
|
+
|
|
41
|
+
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
42
|
+
product_id: joi.string().uuid().allow(null).optional(),
|
|
43
|
+
|
|
44
|
+
quantity: joi.number().positive().allow(0).optional(),
|
|
45
|
+
preco_venda: joi.number().positive().allow(0).optional(),
|
|
46
|
+
client_tax: joi.number().positive().allow(0).optional(),
|
|
47
|
+
client_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
48
|
+
preco_custo: joi.number().positive().allow(0).optional(),
|
|
49
|
+
provider_tax: joi.number().positive().allow(0).optional(),
|
|
50
|
+
provider_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
51
|
+
provider_purchase_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
52
|
+
document_line_group_id: joi.string().optional(),
|
|
53
|
+
sent_to_client: joi.boolean().optional(),
|
|
54
|
+
sent_to_provider: joi.boolean().optional(),
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
58
|
+
|
|
59
|
+
const updateDataBodyKeys: IShared.IRouteRequest<IUpdateDataRequest> = {
|
|
60
|
+
trigger_states: joi.boolean().optional(),
|
|
61
|
+
document_header_id: joi.string().uuid().required(),
|
|
62
|
+
document_line_ids: joi.array().items(joi.string().uuid().required()).required(),
|
|
63
|
+
datafield: joi.string().required(),
|
|
64
|
+
payload: joi
|
|
65
|
+
.object()
|
|
66
|
+
.keys({
|
|
67
|
+
value: joi.any().required(),
|
|
68
|
+
updated_by: joi.string().uuid().optional(),
|
|
69
|
+
updated_at: joi.date().optional(),
|
|
70
|
+
location_id: joi.string().uuid().optional(),
|
|
71
|
+
})
|
|
72
|
+
.required(),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const updateDataBody = joi.object().keys(updateDataBodyKeys).messages(messages);
|
|
76
|
+
|
|
77
|
+
const updateManyKeys: IShared.IRouteRequest<IUpdateManyRequest> = {
|
|
78
|
+
ids: joi.array().items(joi.string().uuid().required()).required(),
|
|
79
|
+
client_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
80
|
+
price_cost: joi.number().positive().allow(0).optional(),
|
|
81
|
+
provider_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
82
|
+
provider_estimated_delivery_date: joi.date().allow(null, '').optional(),
|
|
83
|
+
provider_purchase_discount: joi.number().positive().allow(0).max(100).optional(),
|
|
84
|
+
consignacao: joi.boolean().optional(),
|
|
85
|
+
cancelled: joi.boolean().optional(),
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const updateManyBody = joi.object().keys(updateManyKeys).messages(messages);
|
|
89
|
+
|
|
90
|
+
export const updateIndexesBody = joi
|
|
91
|
+
.array()
|
|
92
|
+
.items(joi.string().uuid().required())
|
|
93
|
+
.required()
|
|
94
|
+
.messages(messages);
|
|
95
|
+
|
|
96
|
+
export const deleteBody = joi.array().items(joi.string().uuid().required()).messages(messages);
|
|
97
|
+
|
|
98
|
+
const printLabelParamsKeys: IShared.IRouteRequest<IPrintLabelParamsRequest> = {
|
|
99
|
+
document_line_ids: joi.string().required(),
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export const printLabelParams = joi.object().keys(printLabelParamsKeys).messages(messages);
|
|
103
|
+
|
|
104
|
+
const printLabelQueryKeys: IShared.IRouteRequest<IPrintLabelQueryRequest> = {
|
|
105
|
+
token: joi.string().required(),
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const printLabelQuery = joi.object().keys(printLabelQueryKeys).messages(messages);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as IShared from '../../../shared/interface';
|
|
2
|
+
import { DocumentLineAssoc, DocumentLine } from '../../../shared/entities/stock';
|
|
3
|
+
import * as IDocumentLine from '../documentLine/interfaces';
|
|
4
|
+
import { IDocumentLineVirtuals } from '../documentLine/interfaces';
|
|
5
|
+
|
|
6
|
+
export type Entity = DocumentLineAssoc;
|
|
7
|
+
export const Route = 'documentLineAssoc';
|
|
8
|
+
export const UpperName = 'DocumentLineAssoc';
|
|
9
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
10
|
+
|
|
11
|
+
export interface IEntityWithDocumentLine extends Entity {
|
|
12
|
+
document_line: DocumentLine;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface IEntityExtended extends Entity {
|
|
16
|
+
document_line: IDocumentLine.IEntityExtended;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface ICreateRequest {
|
|
20
|
+
document_header_id: string;
|
|
21
|
+
document_line_id: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface IUpdateRequest {
|
|
25
|
+
external_id?: string | null;
|
|
26
|
+
origin_id?: string | null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface IUpdateGroupRequest {
|
|
30
|
+
document_line_id: string[];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface IRepository {
|
|
34
|
+
findById(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
|
|
35
|
+
|
|
36
|
+
findByOwnerId(data: IShared.IFindByOwnerIdRequest): Promise<IEntityExtended[]>;
|
|
37
|
+
|
|
38
|
+
findVirtualsByOwnerId(data: IShared.IFindByOwnerIdRequest): Promise<IDocumentLineVirtuals[]>;
|
|
39
|
+
|
|
40
|
+
findHistoryByLineId(data: IShared.IFindByIdRequest): Promise<IDocumentLine.IHistory[]>;
|
|
41
|
+
|
|
42
|
+
create(data: ICreateRequest[]): Promise<IEntityWithDocumentLine[]>;
|
|
43
|
+
|
|
44
|
+
update(
|
|
45
|
+
selector: IShared.IFindByIdRequest,
|
|
46
|
+
data: IUpdateRequest,
|
|
47
|
+
): Promise<IEntityWithDocumentLine>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type IApi = Omit<IRepository, 'findById'>;
|
|
51
|
+
|
|
52
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import { ICreateRequest, IUpdateRequest } from './interfaces';
|
|
5
|
+
|
|
6
|
+
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
7
|
+
document_header_id: joi.string().uuid().required(),
|
|
8
|
+
document_line_id: joi.string().uuid().required(),
|
|
9
|
+
};
|
|
10
|
+
export const createBody = joi.array().items(joi.object().keys(createBodyKeys)).messages(messages);
|
|
11
|
+
|
|
12
|
+
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
13
|
+
external_id: joi.string().allow(null).optional(),
|
|
14
|
+
origin_id: joi.string().allow(null).optional(),
|
|
15
|
+
};
|
|
16
|
+
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DocumentLineMT } from '../../../shared/entities/stock';
|
|
2
|
+
import * as IShared from '../../../shared/interface';
|
|
3
|
+
|
|
4
|
+
export type Entity = DocumentLineMT;
|
|
5
|
+
export const Route = 'document_line_mt';
|
|
6
|
+
export const UpperName = 'DocumentLineMT';
|
|
7
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
+
|
|
9
|
+
export interface IUpdateRequest {
|
|
10
|
+
document_line_ids: string[];
|
|
11
|
+
mt_order_by?: string | null;
|
|
12
|
+
mt_order_date?: Date | null;
|
|
13
|
+
|
|
14
|
+
mt_execution_by?: string | null;
|
|
15
|
+
mt_execution_date?: Date | null;
|
|
16
|
+
mt_execution_when?: Date | null;
|
|
17
|
+
|
|
18
|
+
mt_order_with_notification?: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface IRepository {
|
|
22
|
+
update(data: IUpdateRequest): Promise<void>;
|
|
23
|
+
|
|
24
|
+
findByOwnerId(selector: IShared.IFindByOwnerIdRequest): Promise<Entity[]>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import { IUpdateRequest } from '../documentLineMT/interface';
|
|
5
|
+
|
|
6
|
+
const updateKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
7
|
+
document_line_ids: joi.array().items(joi.string().uuid().required()).required(),
|
|
8
|
+
mt_order_by: joi.string().uuid().optional().allow(null),
|
|
9
|
+
mt_order_date: joi.date().optional().allow(null),
|
|
10
|
+
|
|
11
|
+
mt_execution_by: joi.string().uuid().optional().allow(null),
|
|
12
|
+
mt_execution_date: joi.date().optional().allow(null),
|
|
13
|
+
mt_execution_when: joi.date().optional().allow(null),
|
|
14
|
+
|
|
15
|
+
mt_order_with_notification: joi.boolean().optional().default(false),
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const updateBody = joi.object().keys(updateKeys).messages(messages);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as IShared from '../../../shared/interface';
|
|
2
|
+
import { DocumentLineNote } from '../../../shared/entities/stock';
|
|
3
|
+
|
|
4
|
+
// document lines Types
|
|
5
|
+
export const IDocumentLineNoteTypeEnum: {
|
|
6
|
+
Prisao: 'Prisao';
|
|
7
|
+
Quebra: 'Quebra';
|
|
8
|
+
Entrada: 'Entrada';
|
|
9
|
+
Compra: 'Compra';
|
|
10
|
+
Devolucao: 'Devolucao';
|
|
11
|
+
Transformado: 'Transformado';
|
|
12
|
+
Inventario: 'Inventario';
|
|
13
|
+
PC: 'PC';
|
|
14
|
+
PF: 'PF';
|
|
15
|
+
} = {
|
|
16
|
+
Prisao: 'Prisao',
|
|
17
|
+
Quebra: 'Quebra',
|
|
18
|
+
Entrada: 'Entrada',
|
|
19
|
+
Compra: 'Compra',
|
|
20
|
+
Devolucao: 'Devolucao',
|
|
21
|
+
Transformado: 'Transformado',
|
|
22
|
+
Inventario: 'Inventario',
|
|
23
|
+
PC: 'PC',
|
|
24
|
+
PF: 'PF',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type IDocumentLineNoteType =
|
|
28
|
+
(typeof IDocumentLineNoteTypeEnum)[keyof typeof IDocumentLineNoteTypeEnum];
|
|
29
|
+
|
|
30
|
+
export const documentLineNoteTypes = Object.keys(IDocumentLineNoteTypeEnum);
|
|
31
|
+
|
|
32
|
+
export type Entity = DocumentLineNote;
|
|
33
|
+
export const Route = 'documentLineNote';
|
|
34
|
+
export const UpperName = 'DocumentLineNote';
|
|
35
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
36
|
+
|
|
37
|
+
export interface ICreateRequest {
|
|
38
|
+
document_line_id: string;
|
|
39
|
+
type: IDocumentLineNoteType;
|
|
40
|
+
note: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface IUpdateRequest {
|
|
44
|
+
note: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface IRepository {
|
|
48
|
+
create(data: ICreateRequest): Promise<string>;
|
|
49
|
+
update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
|
|
50
|
+
deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import { ICreateRequest, IUpdateRequest, documentLineNoteTypes } from './interfaces';
|
|
5
|
+
|
|
6
|
+
export const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
7
|
+
document_line_id: joi.string().uuid().required(),
|
|
8
|
+
note: joi.string().required(),
|
|
9
|
+
type: joi
|
|
10
|
+
.string()
|
|
11
|
+
.valid(...documentLineNoteTypes)
|
|
12
|
+
.required(),
|
|
13
|
+
};
|
|
14
|
+
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
15
|
+
|
|
16
|
+
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
17
|
+
note: joi.string().required(),
|
|
18
|
+
};
|
|
19
|
+
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DocumentLineRM } from '../../../shared/entities/stock';
|
|
2
|
+
import * as IShared from '../../../shared/interface';
|
|
3
|
+
|
|
4
|
+
export type Entity = DocumentLineRM;
|
|
5
|
+
export const Route = 'document_line_rm';
|
|
6
|
+
export const UpperName = 'DocumentLineRM';
|
|
7
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
+
|
|
9
|
+
export interface IUpdateRequest {
|
|
10
|
+
document_line_ids: string[];
|
|
11
|
+
rm_order_by?: string | null;
|
|
12
|
+
rm_order_date?: Date | null;
|
|
13
|
+
|
|
14
|
+
rm_execution_by?: string | null;
|
|
15
|
+
rm_execution_date?: Date | null;
|
|
16
|
+
rm_execution_when?: Date | null;
|
|
17
|
+
|
|
18
|
+
rm_sent_by?: string | null;
|
|
19
|
+
rm_sent_date?: Date | null;
|
|
20
|
+
|
|
21
|
+
rm_done_by?: string | null;
|
|
22
|
+
rm_done_date?: Date | null;
|
|
23
|
+
|
|
24
|
+
rm_checked_by?: string | null;
|
|
25
|
+
rm_checked_date?: Date | null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface IRepository {
|
|
29
|
+
update(data: IUpdateRequest): Promise<void>;
|
|
30
|
+
|
|
31
|
+
findByOwnerId(selector: IShared.IFindByOwnerIdRequest): Promise<Entity[]>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import { IUpdateRequest } from '../documentLineRM/interface';
|
|
5
|
+
|
|
6
|
+
const updateKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
7
|
+
document_line_ids: joi.array().items(joi.string().uuid().required()).required(),
|
|
8
|
+
rm_order_by: joi.string().uuid().optional().allow(null),
|
|
9
|
+
rm_order_date: joi.date().optional().allow(null),
|
|
10
|
+
|
|
11
|
+
rm_execution_by: joi.string().uuid().optional().allow(null),
|
|
12
|
+
rm_execution_date: joi.date().optional().allow(null),
|
|
13
|
+
rm_execution_when: joi.date().optional().allow(null),
|
|
14
|
+
|
|
15
|
+
rm_sent_by: joi.string().uuid().optional().allow(null),
|
|
16
|
+
rm_sent_date: joi.date().optional().allow(null),
|
|
17
|
+
|
|
18
|
+
rm_done_by: joi.string().uuid().optional().allow(null),
|
|
19
|
+
rm_done_date: joi.date().optional().allow(null),
|
|
20
|
+
|
|
21
|
+
rm_checked_by: joi.string().uuid().optional().allow(null),
|
|
22
|
+
rm_checked_date: joi.date().optional().allow(null),
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const updateBody = joi.object().keys(updateKeys).messages(messages);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as IShared from '../../../shared/interface';
|
|
2
|
+
import { DocumentSet } from '../../../shared/entities/stock';
|
|
3
|
+
|
|
4
|
+
export type Entity = DocumentSet;
|
|
5
|
+
export const Route = 'document_set';
|
|
6
|
+
export const UpperName = 'DocumentSet';
|
|
7
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
+
|
|
9
|
+
export interface ICreateRequest {
|
|
10
|
+
document_set_id: number | null;
|
|
11
|
+
name: string;
|
|
12
|
+
active_by_default: boolean;
|
|
13
|
+
validation_code: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface IUpdateRequest {
|
|
17
|
+
document_set_id?: number | null;
|
|
18
|
+
name?: string;
|
|
19
|
+
active_by_default?: boolean;
|
|
20
|
+
validation_code?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface IRepository {
|
|
23
|
+
findById(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
|
|
24
|
+
find(): Promise<Entity[]>;
|
|
25
|
+
findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
|
|
26
|
+
create(data: ICreateRequest): Promise<Entity>;
|
|
27
|
+
update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
|
|
28
|
+
deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { messages } from '../../../shared/messages';
|
|
3
|
+
import * as IShared from '../../../shared/interface';
|
|
4
|
+
import { ICreateRequest, IUpdateRequest } from './interface';
|
|
5
|
+
|
|
6
|
+
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
7
|
+
name: joi.string().required(),
|
|
8
|
+
document_set_id: joi.number().integer().allow(null).optional(),
|
|
9
|
+
active_by_default: joi.boolean().default(false).optional(),
|
|
10
|
+
validation_code: joi.string().required(),
|
|
11
|
+
};
|
|
12
|
+
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
13
|
+
|
|
14
|
+
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
15
|
+
name: joi.string(),
|
|
16
|
+
document_set_id: joi.number().integer().allow(null).optional(),
|
|
17
|
+
active_by_default: joi.boolean().optional(),
|
|
18
|
+
validation_code: joi.string().optional(),
|
|
19
|
+
};
|
|
20
|
+
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import * as IShared from '../../../shared/interface';
|
|
2
|
+
import { DocumentType, ExternalDocumentType } from '../../../shared/entities/stock';
|
|
3
|
+
|
|
4
|
+
export type Entity = DocumentType;
|
|
5
|
+
export const Route = 'documentType';
|
|
6
|
+
export const UpperName = 'DocumentType';
|
|
7
|
+
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
+
|
|
9
|
+
export const DocumentTypeUserTypeEnum: {
|
|
10
|
+
client: 'client';
|
|
11
|
+
provider: 'provider';
|
|
12
|
+
commissioner: 'commissioner';
|
|
13
|
+
store_operator: 'store_operator';
|
|
14
|
+
self: 'self';
|
|
15
|
+
} = {
|
|
16
|
+
client: 'client',
|
|
17
|
+
provider: 'provider',
|
|
18
|
+
commissioner: 'commissioner',
|
|
19
|
+
store_operator: 'store_operator',
|
|
20
|
+
self: 'self',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type IDocumentTypeUserType =
|
|
24
|
+
(typeof DocumentTypeUserTypeEnum)[keyof typeof DocumentTypeUserTypeEnum];
|
|
25
|
+
|
|
26
|
+
export const documentTypeUserTypes = Object.keys(DocumentTypeUserTypeEnum);
|
|
27
|
+
|
|
28
|
+
export const DocumentTypeCodeTypeEnum: {
|
|
29
|
+
PC: 'PC';
|
|
30
|
+
FTPF: 'FTPF';
|
|
31
|
+
PCTL: 'PCTL';
|
|
32
|
+
AD: 'AD';
|
|
33
|
+
NCAD: 'NCAD';
|
|
34
|
+
FT: 'FT';
|
|
35
|
+
FS: 'FS';
|
|
36
|
+
FR: 'FR';
|
|
37
|
+
NC: 'NC';
|
|
38
|
+
GT: 'GT';
|
|
39
|
+
RE: 'RE';
|
|
40
|
+
LNC: 'LNC';
|
|
41
|
+
NPC: 'NPC';
|
|
42
|
+
QECI: 'QECI';
|
|
43
|
+
OPI: 'OPI';
|
|
44
|
+
OP: 'OP';
|
|
45
|
+
PF: 'PF';
|
|
46
|
+
EF: 'EF';
|
|
47
|
+
EFSN: 'EFSN';
|
|
48
|
+
EM: 'EM';
|
|
49
|
+
GTF: 'GTF';
|
|
50
|
+
DF: 'DF';
|
|
51
|
+
CF: 'CF';
|
|
52
|
+
NPF: 'NPF';
|
|
53
|
+
ADF: 'ADF';
|
|
54
|
+
NCF: 'NCF';
|
|
55
|
+
NCRF: 'NCRF';
|
|
56
|
+
FTF: 'FTF';
|
|
57
|
+
PI: 'PI';
|
|
58
|
+
IM: 'IM';
|
|
59
|
+
IMN: 'IMN';
|
|
60
|
+
QE: 'QE';
|
|
61
|
+
TR: 'TR';
|
|
62
|
+
TRS: 'TRS';
|
|
63
|
+
GTI: 'GTI';
|
|
64
|
+
ADSM: 'ADSM';
|
|
65
|
+
FTSM: 'FTSM';
|
|
66
|
+
FP: 'FP';
|
|
67
|
+
RDP: 'RDP';
|
|
68
|
+
NRCL: 'NRCL';
|
|
69
|
+
FPM: 'FPM';
|
|
70
|
+
} = {
|
|
71
|
+
PC: 'PC',
|
|
72
|
+
FTPF: 'FTPF',
|
|
73
|
+
PCTL: 'PCTL',
|
|
74
|
+
AD: 'AD',
|
|
75
|
+
NCAD: 'NCAD',
|
|
76
|
+
FT: 'FT',
|
|
77
|
+
FS: 'FS',
|
|
78
|
+
FR: 'FR',
|
|
79
|
+
NC: 'NC',
|
|
80
|
+
GT: 'GT',
|
|
81
|
+
RE: 'RE',
|
|
82
|
+
LNC: 'LNC',
|
|
83
|
+
NPC: 'NPC',
|
|
84
|
+
QECI: 'QECI',
|
|
85
|
+
OPI: 'OPI',
|
|
86
|
+
OP: 'OP',
|
|
87
|
+
PF: 'PF',
|
|
88
|
+
EF: 'EF',
|
|
89
|
+
EFSN: 'EFSN',
|
|
90
|
+
EM: 'EM',
|
|
91
|
+
GTF: 'GTF',
|
|
92
|
+
DF: 'DF',
|
|
93
|
+
CF: 'CF',
|
|
94
|
+
NPF: 'NPF',
|
|
95
|
+
ADF: 'ADF',
|
|
96
|
+
NCF: 'NCF',
|
|
97
|
+
NCRF: 'NCRF',
|
|
98
|
+
FTF: 'FTF',
|
|
99
|
+
PI: 'PI',
|
|
100
|
+
IM: 'IM',
|
|
101
|
+
IMN: 'IMN',
|
|
102
|
+
QE: 'QE',
|
|
103
|
+
TR: 'TR',
|
|
104
|
+
TRS: 'TRS',
|
|
105
|
+
GTI: 'GTI',
|
|
106
|
+
ADSM: 'ADSM',
|
|
107
|
+
FTSM: 'FTSM',
|
|
108
|
+
FP: 'FP',
|
|
109
|
+
RDP: 'RDP',
|
|
110
|
+
NRCL: 'NRCL',
|
|
111
|
+
FPM: 'FPM',
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export type IDocumentTypeCodeType =
|
|
115
|
+
(typeof DocumentTypeCodeTypeEnum)[keyof typeof DocumentTypeCodeTypeEnum];
|
|
116
|
+
|
|
117
|
+
export const documentTypeCodeTypes = Object.keys(DocumentTypeCodeTypeEnum);
|
|
118
|
+
|
|
119
|
+
export interface IEntityExtended extends DocumentType {
|
|
120
|
+
external_document_type: ExternalDocumentType | null;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface ICreateRequest {
|
|
124
|
+
external_document_type_id: string | null;
|
|
125
|
+
document_set_id: string;
|
|
126
|
+
|
|
127
|
+
code: IDocumentTypeCodeType;
|
|
128
|
+
description: string;
|
|
129
|
+
|
|
130
|
+
group: string;
|
|
131
|
+
is_searchable: boolean;
|
|
132
|
+
|
|
133
|
+
quantity_in?: boolean;
|
|
134
|
+
quantity_out?: boolean;
|
|
135
|
+
|
|
136
|
+
credit?: boolean;
|
|
137
|
+
debit?: boolean;
|
|
138
|
+
|
|
139
|
+
invoice: boolean;
|
|
140
|
+
return: boolean;
|
|
141
|
+
pay: boolean;
|
|
142
|
+
allow_create_from_header_without_lines: boolean;
|
|
143
|
+
allow_commissioner: boolean;
|
|
144
|
+
duplicate_group?: string | null;
|
|
145
|
+
allow_duplicates: boolean;
|
|
146
|
+
requires_picking: boolean;
|
|
147
|
+
allow_document_line_assoc_plugins: boolean;
|
|
148
|
+
|
|
149
|
+
user_type: IDocumentTypeUserType;
|
|
150
|
+
final_consumer: boolean;
|
|
151
|
+
|
|
152
|
+
ensure_same_provider: boolean;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface IUpdateRequest {
|
|
156
|
+
external_document_type_id?: string | null;
|
|
157
|
+
document_set_id?: string;
|
|
158
|
+
|
|
159
|
+
code?: IDocumentTypeCodeType;
|
|
160
|
+
description?: string;
|
|
161
|
+
|
|
162
|
+
group?: string;
|
|
163
|
+
is_searchable?: boolean;
|
|
164
|
+
|
|
165
|
+
quantity_in?: boolean;
|
|
166
|
+
quantity_out?: boolean;
|
|
167
|
+
|
|
168
|
+
credit?: boolean;
|
|
169
|
+
debit?: boolean;
|
|
170
|
+
|
|
171
|
+
invoice: boolean;
|
|
172
|
+
return: boolean;
|
|
173
|
+
pay: boolean;
|
|
174
|
+
allow_create_from_header_without_lines: boolean;
|
|
175
|
+
allow_commissioner?: boolean;
|
|
176
|
+
duplicate_group?: string | null;
|
|
177
|
+
allow_duplicates?: boolean;
|
|
178
|
+
requires_picking?: boolean;
|
|
179
|
+
allow_document_line_assoc_plugins: boolean;
|
|
180
|
+
user_type?: IDocumentTypeUserType;
|
|
181
|
+
final_consumer?: boolean;
|
|
182
|
+
|
|
183
|
+
ensure_same_provider?: boolean;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface IFindRequest {
|
|
187
|
+
description?: string;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export interface IFindResponse {
|
|
191
|
+
id: number;
|
|
192
|
+
group: string;
|
|
193
|
+
description: string;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface IRepository {
|
|
197
|
+
findById(id: number): Promise<Entity | null>;
|
|
198
|
+
findByQuery(data: IFindRequest): Promise<Entity[]>;
|
|
199
|
+
|
|
200
|
+
findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
|
|
201
|
+
find(): Promise<IFindResponse[]>;
|
|
202
|
+
findDetailed(): Promise<IEntityExtended[]>;
|
|
203
|
+
|
|
204
|
+
create(data: ICreateRequest): Promise<IEntityExtended>;
|
|
205
|
+
update(
|
|
206
|
+
selector: IShared.IFindByIdNumberRequest,
|
|
207
|
+
data: IUpdateRequest,
|
|
208
|
+
): Promise<IEntityExtended | null>;
|
|
209
|
+
deleteOne(selector: IShared.IFindByIdNumberRequest): Promise<IEntityExtended | null>;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
213
|
+
|
|
214
|
+
export type IApi = Omit<IRepository, 'findById' | 'findByQuery'>;
|