@nomalism-com/types 0.37.7 → 0.37.9

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 (251) hide show
  1. package/dist/index.cjs +2 -5
  2. package/dist/index.js +2 -5
  3. package/dist/modules/stock/chat/interfaces.d.ts +0 -1
  4. package/dist/modules/supply/documentSet/interface.d.ts +0 -2
  5. package/dist/shared/entities/stock.d.ts +0 -2
  6. package/package.json +4 -1
  7. package/.editorconfig +0 -9
  8. package/.prettierrc +0 -7
  9. package/eslint.config.mjs +0 -39
  10. package/package-lock.json +0 -4327
  11. package/src/index.ts +0 -3
  12. package/src/main.ts +0 -672
  13. package/src/modules/document/billOfLading/interfaces.ts +0 -26
  14. package/src/modules/document/billOfLading/route.schema.ts +0 -32
  15. package/src/modules/document/inventario/interface.ts +0 -19
  16. package/src/modules/document/inventario/route.schema.ts +0 -16
  17. package/src/modules/document/materialEntrance/interfaces.ts +0 -207
  18. package/src/modules/document/materialEntrance/route.schema.ts +0 -53
  19. package/src/modules/document/order/interfaces.ts +0 -172
  20. package/src/modules/document/order/route.schema.ts +0 -61
  21. package/src/modules/document/productionOrder/interfaces.ts +0 -12
  22. package/src/modules/document/productionOrder/route.schema.ts +0 -13
  23. package/src/modules/document/proforma/interfaces.ts +0 -15
  24. package/src/modules/document/proforma/route.schema.ts +0 -14
  25. package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
  26. package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
  27. package/src/modules/document/propostaSheets/interface.ts +0 -113
  28. package/src/modules/document/propostaSheets/route.schema.ts +0 -45
  29. package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
  30. package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
  31. package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
  32. package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
  33. package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
  34. package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
  35. package/src/modules/document/purchase/interfaces.ts +0 -112
  36. package/src/modules/document/purchase/route.schema.ts +0 -51
  37. package/src/modules/document/quebra/interfaces.ts +0 -46
  38. package/src/modules/document/quebra/route.schema.ts +0 -25
  39. package/src/modules/document/returnToProvider/interface.ts +0 -59
  40. package/src/modules/document/returnToProvider/route.schema.ts +0 -27
  41. package/src/modules/document/transformado/interfaces.ts +0 -31
  42. package/src/modules/document/transformado/route.schema.ts +0 -26
  43. package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
  44. package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
  45. package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
  46. package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
  47. package/src/modules/integration/emailLog/interfaces.ts +0 -111
  48. package/src/modules/integration/emailLog/route.schema.ts +0 -18
  49. package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
  50. package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
  51. package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
  52. package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
  53. package/src/modules/integration/emailVerification/interfaces.ts +0 -30
  54. package/src/modules/integration/emailVerification/route.schema.ts +0 -34
  55. package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
  56. package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
  57. package/src/modules/integration/googleSheets/interfaces.ts +0 -98
  58. package/src/modules/integration/googleSheets/route.schema.ts +0 -52
  59. package/src/modules/integration/observation/interfaces.ts +0 -61
  60. package/src/modules/integration/observation/route.schema.ts +0 -40
  61. package/src/modules/integration/observationType/interfaces.ts +0 -37
  62. package/src/modules/integration/observationType/route.schema.ts +0 -17
  63. package/src/modules/integration/projectInfo/interfaces.ts +0 -26
  64. package/src/modules/integration/projectInfo/route.schema.ts +0 -18
  65. package/src/modules/integration/settings/interfaces.ts +0 -31
  66. package/src/modules/integration/settings/route.schema.ts +0 -24
  67. package/src/modules/print/npc/interfaces.ts +0 -34
  68. package/src/modules/print/npc/route.schema.ts +0 -21
  69. package/src/modules/print/printer/interfaces.ts +0 -47
  70. package/src/modules/print/printer/route.schema.ts +0 -60
  71. package/src/modules/print/schedulePrintJob/interfaces.ts +0 -48
  72. package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
  73. package/src/modules/stock/chat/interfaces.ts +0 -82
  74. package/src/modules/stock/chat/route.schema.ts +0 -28
  75. package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
  76. package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
  77. package/src/modules/stock/dashboard/interface.ts +0 -25
  78. package/src/modules/stock/dashboard/route.schema.ts +0 -11
  79. package/src/modules/stock/file/interface.ts +0 -37
  80. package/src/modules/stock/file/route.schema.ts +0 -37
  81. package/src/modules/stock/location/interface.ts +0 -77
  82. package/src/modules/stock/location/route.schema.ts +0 -57
  83. package/src/modules/stock/prison/interface.ts +0 -70
  84. package/src/modules/stock/prison/route.schema.ts +0 -50
  85. package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
  86. package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
  87. package/src/modules/stock/productImage/interface.ts +0 -69
  88. package/src/modules/stock/productImage/route.schema.ts +0 -52
  89. package/src/modules/stock/promotion/interface.ts +0 -61
  90. package/src/modules/stock/promotion/route.schema.ts +0 -39
  91. package/src/modules/stock/promotionAssoc/interface.ts +0 -62
  92. package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
  93. package/src/modules/stock/queryList/interfaces.ts +0 -56
  94. package/src/modules/stock/queryList/route.schema.ts +0 -37
  95. package/src/modules/stock/queryParameter/interfaces.ts +0 -72
  96. package/src/modules/stock/queryParameter/route.schema.ts +0 -36
  97. package/src/modules/stock/recurrentTasks/interface.ts +0 -12
  98. package/src/modules/stock/returnReason/interfaces.ts +0 -23
  99. package/src/modules/stock/returnReason/route.schema.ts +0 -14
  100. package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
  101. package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
  102. package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
  103. package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
  104. package/src/modules/stock/sideMenu/interface.ts +0 -48
  105. package/src/modules/stock/sideMenu/route.schema.ts +0 -20
  106. package/src/modules/stock/stockMovement/interface.ts +0 -78
  107. package/src/modules/stock/stockMovement/route.schema.ts +0 -34
  108. package/src/modules/stock/tag/interface.ts +0 -36
  109. package/src/modules/stock/tag/route.schema.ts +0 -30
  110. package/src/modules/stock/task/interface.ts +0 -126
  111. package/src/modules/stock/task/route.schema.ts +0 -48
  112. package/src/modules/stock/taskMessage/interface.ts +0 -18
  113. package/src/modules/stock/taskMessage/route.schema.ts +0 -19
  114. package/src/modules/stock/taskRead/interface.ts +0 -17
  115. package/src/modules/stock/taskRead/route.schema.ts +0 -18
  116. package/src/modules/stock/typeOfLocation/interface.ts +0 -51
  117. package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
  118. package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
  119. package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
  120. package/src/modules/stock/vatTax/interface.ts +0 -55
  121. package/src/modules/stock/vatTax/route.schema.ts +0 -33
  122. package/src/modules/stock/vatTaxZone/interface.ts +0 -63
  123. package/src/modules/stock/vatTaxZone/route.schema.ts +0 -42
  124. package/src/modules/stock/vatValidation/interfaces.ts +0 -10
  125. package/src/modules/stock/vatValidation/route.schema.ts +0 -8
  126. package/src/modules/stock/workflow/interfaces.ts +0 -64
  127. package/src/modules/stock/workflow/route.schema.ts +0 -28
  128. package/src/modules/supply/batch/interface.ts +0 -0
  129. package/src/modules/supply/documentHeader/interfaces.ts +0 -497
  130. package/src/modules/supply/documentHeader/route.schema.ts +0 -371
  131. package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
  132. package/src/modules/supply/documentLine/interfaces.ts +0 -210
  133. package/src/modules/supply/documentLine/route.schema.ts +0 -108
  134. package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
  135. package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
  136. package/src/modules/supply/documentLineMT/interface.ts +0 -27
  137. package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
  138. package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
  139. package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
  140. package/src/modules/supply/documentLineRM/interface.ts +0 -34
  141. package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
  142. package/src/modules/supply/documentSet/interface.ts +0 -31
  143. package/src/modules/supply/documentSet/route.schema.ts +0 -20
  144. package/src/modules/supply/documentType/interfaces.ts +0 -214
  145. package/src/modules/supply/documentType/route.schema.ts +0 -75
  146. package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
  147. package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
  148. package/src/modules/supply/externalDocumentType/interface.ts +0 -14
  149. package/src/modules/supply/orderManagement/interface.ts +0 -49
  150. package/src/modules/supply/orderManagement/route.schema.ts +0 -0
  151. package/src/modules/supply/payment/interface.ts +0 -229
  152. package/src/modules/supply/payment/route.schema.ts +0 -122
  153. package/src/modules/supply/preSale/interface.ts +0 -92
  154. package/src/modules/supply/preSale/route.schema.ts +0 -75
  155. package/src/modules/supply/preSaleProduct/interface.ts +0 -16
  156. package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
  157. package/src/modules/supply/schedule/interface.ts +0 -47
  158. package/src/modules/supply/schedule/route.schema.ts +0 -14
  159. package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
  160. package/src/modules/tickets/channel/interfaces.ts +0 -35
  161. package/src/modules/tickets/channel/route.schema.ts +0 -24
  162. package/src/modules/tickets/clt/interfaces.ts +0 -26
  163. package/src/modules/tickets/clt/route.schema.ts +0 -24
  164. package/src/modules/tickets/language/interfaces.ts +0 -25
  165. package/src/modules/tickets/language/route.schema.ts +0 -28
  166. package/src/modules/tickets/tickets/interfaces.ts +0 -80
  167. package/src/modules/tickets/tickets/route.schema.ts +0 -19
  168. package/src/modules/user/bankData/interface.ts +0 -64
  169. package/src/modules/user/bankData/route.schema.ts +0 -40
  170. package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
  171. package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
  172. package/src/modules/user/clientType/interface.ts +0 -47
  173. package/src/modules/user/clientType/route.schema.ts +0 -31
  174. package/src/modules/user/clients/interface.ts +0 -138
  175. package/src/modules/user/clients/route.schema.ts +0 -87
  176. package/src/modules/user/commissioner/interface.ts +0 -110
  177. package/src/modules/user/commissioner/route.schema.ts +0 -65
  178. package/src/modules/user/country/interface.ts +0 -54
  179. package/src/modules/user/country/route.schema.ts +0 -36
  180. package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
  181. package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
  182. package/src/modules/user/favorites/interfaces.ts +0 -28
  183. package/src/modules/user/favorites/route.schema.ts +0 -19
  184. package/src/modules/user/groupPermissions/interface.ts +0 -32
  185. package/src/modules/user/groupPermissions/route.schema.ts +0 -11
  186. package/src/modules/user/language/interface.ts +0 -47
  187. package/src/modules/user/language/route.schema.ts +0 -28
  188. package/src/modules/user/maturityDates/interfaces.ts +0 -31
  189. package/src/modules/user/maturityDates/route.schema.ts +0 -18
  190. package/src/modules/user/password/interfaces.ts +0 -21
  191. package/src/modules/user/password/route.schema.ts +0 -22
  192. package/src/modules/user/paymentMethods/interfaces.ts +0 -72
  193. package/src/modules/user/paymentMethods/route.schema.ts +0 -27
  194. package/src/modules/user/permissions/interface.ts +0 -34
  195. package/src/modules/user/permissions/route.schema.ts +0 -11
  196. package/src/modules/user/persona/interface.ts +0 -157
  197. package/src/modules/user/persona/route.schema.ts +0 -101
  198. package/src/modules/user/providerType/interface.ts +0 -47
  199. package/src/modules/user/providerType/route.schema.ts +0 -28
  200. package/src/modules/user/providers/interface.ts +0 -130
  201. package/src/modules/user/providers/route.schema.ts +0 -85
  202. package/src/modules/user/purchaseConditions/interface.ts +0 -58
  203. package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
  204. package/src/modules/user/reasonForExemption/interface.ts +0 -53
  205. package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
  206. package/src/modules/user/refreshToken/interface.ts +0 -19
  207. package/src/modules/user/refreshToken/route.schema.ts +0 -10
  208. package/src/modules/user/segmentsArea/interface.ts +0 -49
  209. package/src/modules/user/segmentsArea/route.schema.ts +0 -30
  210. package/src/modules/user/sessions/interface.ts +0 -24
  211. package/src/modules/user/sessions/route.schema.ts +0 -10
  212. package/src/modules/user/shippings/interface.ts +0 -57
  213. package/src/modules/user/shippings/route.schema.ts +0 -35
  214. package/src/modules/user/storeOperator/interface.ts +0 -42
  215. package/src/modules/user/storeOperator/route.schema.ts +0 -45
  216. package/src/modules/user/swift/interface.ts +0 -55
  217. package/src/modules/user/swift/route.schema.ts +0 -36
  218. package/src/modules/user/tenant/interface.ts +0 -59
  219. package/src/modules/user/tenant/route.schema.ts +0 -46
  220. package/src/modules/user/theme/interfaces.ts +0 -21
  221. package/src/modules/user/theme/route.schema.ts +0 -19
  222. package/src/modules/user/userPermissions/interface.ts +0 -28
  223. package/src/modules/user/userPermissions/route.schema.ts +0 -12
  224. package/src/modules/user/userPositions/interface.ts +0 -47
  225. package/src/modules/user/userPositions/route.schema.ts +0 -29
  226. package/src/modules/user/userTokens/interface.ts +0 -41
  227. package/src/modules/user/userTokens/route.schema.ts +0 -17
  228. package/src/modules/user/users/interface.ts +0 -177
  229. package/src/modules/user/users/route.schema.ts +0 -58
  230. package/src/modules/user/vehicles/interfaces.ts +0 -31
  231. package/src/modules/user/vehicles/route.schema.ts +0 -17
  232. package/src/modules/user/zipCode/interfaces.ts +0 -27
  233. package/src/modules/user/zipCode/route.schema.ts +0 -26
  234. package/src/modules/view/adminPanel/interfaces.ts +0 -180
  235. package/src/modules/view/errorLog/interfaces.ts +0 -36
  236. package/src/modules/view/errorLog/route.schema.ts +0 -25
  237. package/src/shared/entities/documentManagement.ts +0 -16
  238. package/src/shared/entities/integration.ts +0 -136
  239. package/src/shared/entities/print.ts +0 -49
  240. package/src/shared/entities/stock.ts +0 -1248
  241. package/src/shared/entities/tickets.ts +0 -82
  242. package/src/shared/entities/user.ts +0 -540
  243. package/src/shared/errors/documentManagementErrors.ts +0 -13
  244. package/src/shared/errors/integrationErrors.ts +0 -44
  245. package/src/shared/errors/stockErrors.ts +0 -267
  246. package/src/shared/errors/userErrors.ts +0 -108
  247. package/src/shared/errors/viewErrors.ts +0 -6
  248. package/src/shared/interface.ts +0 -548
  249. package/src/shared/messages.ts +0 -141
  250. package/tsconfig.json +0 -20
  251. package/tsup.config.ts +0 -10
@@ -1,371 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import {
5
- ICreateRequest,
6
- IUpdateRequest,
7
- ICreateFromHeaderRequest,
8
- IBasicSearchRequest,
9
- IFindRequest,
10
- ICreateFromHeaderMaturityDate,
11
- ITransferOwnershipRequest,
12
- IUpdateManyWithPersona,
13
- ISendClientNotificationRequest,
14
- IDocumentPdfRequest,
15
- IFindByTypeRequest,
16
- IDocumentListRequest,
17
- IWarningType,
18
- type IMultipleRegularizationDocuments,
19
- type IMultipleRegularizationPayments,
20
- type IMultipleRegularizations,
21
- } from './interfaces';
22
- import { documentTypeCodeTypes } from '../documentType/interfaces';
23
-
24
- const createFromHeaderMaturityDate: IShared.IRouteRequest<ICreateFromHeaderMaturityDate> = {
25
- id: joi.string().uuid().required(),
26
- name: joi.string().required(),
27
- days: joi.number().integer().positive().allow(0).required(),
28
- };
29
-
30
- const createBodyKeys: IShared.IRouteRequestWithStamps<ICreateRequest> = {
31
- document_type_id: joi.number().required(),
32
-
33
- external_id: joi.string().allow(null).optional(),
34
- document_set_id: joi.string().uuid().required(),
35
- pdf_link: joi.string().allow(null).optional(),
36
- google_sheet_id: joi.string().allow(null).optional(),
37
- external_pdf_link: joi.string().allow(null).optional(),
38
- sent: joi.boolean().optional(),
39
-
40
- owner_id: joi.string().uuid().required(),
41
- owner_number: joi.number().required(),
42
- owner_name: joi.string().required(),
43
-
44
- reason_for_exemption_id: joi.string().uuid().allow(null).optional(),
45
- reason_for_exemption: joi.string().allow(null),
46
-
47
- billing_persona_id: joi.string().uuid().allow(null).optional(),
48
- billing_persona_nif: joi.string().allow(null).optional(),
49
- billing_persona_name: joi.string().allow(null).optional(),
50
- billing_persona_email: joi
51
- .string()
52
- .email({ tlds: { allow: false } })
53
- .allow(null)
54
- .optional(),
55
- billing_persona_telephone: joi.string().allow(null).optional(),
56
- billing_persona_address_street: joi.string().allow(null).optional(),
57
- billing_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
58
- billing_persona_address_locality: joi.string().allow(null).optional(),
59
- billing_persona_address_country_id: joi.string().allow(null).optional(),
60
- billing_persona_address_country_name: joi.string().allow(null).optional(),
61
-
62
- delivery_persona_id: joi.string().uuid().allow(null).optional(),
63
- delivery_persona_name: joi.string().allow(null).optional(),
64
- delivery_persona_email: joi
65
- .string()
66
- .email({ tlds: { allow: false } })
67
- .allow(null)
68
- .optional(),
69
- delivery_persona_telephone: joi.string().allow(null).optional(),
70
- delivery_persona_address_street: joi.string().allow(null).optional(),
71
- delivery_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
72
- delivery_persona_address_locality: joi.string().allow(null).optional(),
73
- delivery_persona_address_country_id: joi.string().allow(null).optional(),
74
- delivery_persona_address_country_name: joi.string().allow(null).optional(),
75
-
76
- payment_method_id: joi.string().uuid().allow(null).optional(),
77
- payment_method: joi.string().allow(null).optional(),
78
-
79
- maturity_date: joi.object().keys(createFromHeaderMaturityDate).optional(),
80
-
81
- delivery_method_id: joi.string().uuid().allow(null).optional(),
82
- delivery_method: joi.string().allow(null).optional(),
83
-
84
- delivery_departure_street: joi.string().allow(null).optional(),
85
- delivery_departure_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
86
- delivery_departure_locality: joi.string().allow(null).optional(),
87
-
88
- vehicle_id: joi.string().uuid().allow(null).optional(),
89
- vehicle: joi.string().allow(null).optional(),
90
-
91
- commissioner_id: joi.string().uuid().allow(null).optional(),
92
- commission_percentage: joi.number().positive().allow(0).default(0).optional(),
93
- return_reason: joi.string().allow(null).optional(),
94
-
95
- updated_by: joi.string().uuid().allow(null).optional(),
96
- created_by: joi.string().uuid().allow(null).optional(),
97
- };
98
- export const createBody = joi
99
- .object()
100
- .keys(createBodyKeys)
101
- .and('reason_for_exemption_id', 'reason_for_exemption')
102
- // .and('persona_id', 'contact_name', 'email', 'phone_number')
103
- // .and(
104
- // 'delivery_country_name',
105
- // 'delivery_country_id',
106
- // 'delivery_street',
107
- // 'delivery_locality',
108
- // 'delivery_postal_code',
109
- // )
110
- // .and(
111
- // 'billing_country_name',
112
- // 'billing_country_id',
113
- // 'billing_street',
114
- // 'billing_locality',
115
- // 'billing_postal_code',
116
- // )
117
- .and('payment_method_id', 'payment_method')
118
- .and('delivery_method_id', 'delivery_method')
119
- .and('delivery_departure_street', 'delivery_departure_postal_code', 'delivery_departure_locality')
120
- .and('vehicle_id', 'vehicle')
121
- .messages(messages);
122
-
123
- const createFromHeaderBodyKeys: IShared.IRouteRequest<ICreateFromHeaderRequest> = {
124
- document_type_id: joi.number().required(),
125
- emission_date: joi.date().optional(),
126
- from_header: joi.array().items(joi.string().uuid().required()).required(),
127
- from_lines: joi.array().items(joi.string().uuid().optional()).required(),
128
- payments: joi.array().items(
129
- joi
130
- .object({
131
- document_header_id: joi.string().uuid().optional(),
132
- date: joi.date().required(),
133
- debit: joi.number().positive().allow(0).required(),
134
- credit: joi.number().allow(0).required(),
135
- payment_method_id: joi.string().uuid().required(),
136
- payment_method: joi.string().required(),
137
- notes: joi.string().allow('', null).required(),
138
- })
139
- .optional(),
140
- ),
141
- delivery_method_id: joi.string().optional(),
142
- delivery_adresses: joi
143
- .object({
144
- delivery_departure_street: joi.string().required(),
145
- delivery_departure_locality: joi.string().required(),
146
- delivery_departure_postal_code: joi.string().trim(true).lowercase().required(),
147
- delivery_street: joi.string().required(),
148
- delivery_locality: joi.string().required(),
149
- delivery_postal_code: joi.string().trim(true).lowercase().required(),
150
- })
151
- .allow(null)
152
- .optional(),
153
- email: joi
154
- .string()
155
- .email({ tlds: { allow: false } })
156
- .allow(null)
157
- .optional(),
158
- maturity_date: joi.object().keys(createFromHeaderMaturityDate).optional(),
159
- return_reason: joi.string().optional(),
160
- provider_ref: joi.string().optional(),
161
- global_discount: joi.number().min(0).max(100).optional(),
162
- current_account: joi.boolean().optional(),
163
- };
164
- export const createFromHeaderBody = joi.object().keys(createFromHeaderBodyKeys).messages(messages);
165
-
166
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {
167
- owner_id: joi.string().uuid().required(),
168
- document_type_id: joi.number().required(),
169
- closed: joi.boolean().optional(),
170
- };
171
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
172
-
173
- const basicSearchQueryKeys: IShared.IRouteRequest<IBasicSearchRequest> = {
174
- search_value: joi.string().allow('', null).optional(),
175
- per_page: joi.number().positive().integer().default(10).allow(null).optional(),
176
- inactive: joi.boolean().default(false).optional(),
177
- current_page: joi.number().positive().integer().allow(null).optional(),
178
- };
179
- export const basicSearchQuery = joi.object().keys(basicSearchQueryKeys).messages(messages);
180
-
181
- const updateBodyKeys: IShared.IRouteRequestWithStamps<IUpdateRequest> = {
182
- external_id: joi.string().allow(null).optional(),
183
- external_pdf_link: joi.string().allow(null).optional(),
184
- google_sheet_id: joi.string().allow(null).optional(),
185
- pdf_link: joi.string().allow(null).optional(),
186
- sent: joi.boolean().optional(),
187
-
188
- owner_id: joi.string().uuid().optional(),
189
- owner_number: joi.number().integer().positive().optional(),
190
- owner_name: joi.string().optional(),
191
-
192
- reason_for_exemption_id: joi.string().uuid().allow(null).optional(),
193
- reason_for_exemption: joi.string().allow(null).optional(),
194
-
195
- billing_persona_id: joi.string().uuid().allow(null).optional(),
196
- billing_persona_nif: joi.string().allow(null).optional(),
197
- billing_persona_name: joi.string().allow(null).optional(),
198
- billing_persona_email: joi
199
- .string()
200
- .email({ tlds: { allow: false } })
201
- .allow(null)
202
- .optional(),
203
- billing_persona_telephone: joi.string().allow(null).optional(),
204
- billing_persona_address_street: joi.string().allow(null).optional(),
205
- billing_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
206
- billing_persona_address_locality: joi.string().allow(null).optional(),
207
- billing_persona_address_country_id: joi.string().allow(null).optional(),
208
- billing_persona_address_country_name: joi.string().allow(null).optional(),
209
-
210
- delivery_persona_id: joi.string().uuid().allow(null).optional(),
211
- delivery_persona_name: joi.string().allow(null).optional(),
212
- delivery_persona_email: joi
213
- .string()
214
- .email({ tlds: { allow: false } })
215
- .allow(null)
216
- .optional(),
217
- delivery_persona_telephone: joi.string().allow(null).optional(),
218
- delivery_persona_address_street: joi.string().allow(null).optional(),
219
- delivery_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
220
- delivery_persona_address_locality: joi.string().allow(null).optional(),
221
- delivery_persona_address_country_id: joi.string().allow(null).optional(),
222
- delivery_persona_address_country_name: joi.string().allow(null).optional(),
223
-
224
- payment_method_id: joi.string().uuid().allow(null).optional(),
225
- payment_method: joi.string().allow(null).optional(),
226
-
227
- maturity_date_id: joi.string().uuid().allow(null).optional(),
228
- maturity_date: joi.string().allow(null).optional(),
229
- maturity_date_days: joi.number().integer().positive().allow(0).allow(null).optional(),
230
-
231
- delivery_method_id: joi.string().uuid().allow(null).optional(),
232
- delivery_method: joi.string().allow(null).optional(),
233
-
234
- delivery_departure_street: joi.string().allow(null).optional(),
235
- delivery_departure_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
236
- delivery_departure_locality: joi.string().allow(null).optional(),
237
-
238
- vehicle_id: joi.string().uuid().allow(null).optional(),
239
- vehicle: joi.string().allow(null).optional(),
240
-
241
- commissioner_id: joi.string().uuid().allow(null).optional(),
242
- commission_percentage: joi.number().positive().allow(0).optional(),
243
- commission_paid: joi.boolean().optional(),
244
-
245
- is_archived: joi.boolean().optional(),
246
- is_void: joi.boolean().optional(),
247
- is_void_reason: joi.string().optional(),
248
- is_force_adjudicated: joi.boolean().optional(),
249
- who_handles: joi.string().allow(null).optional(),
250
- warning: joi
251
- .string()
252
- .optional()
253
- .valid(...Object.values(IWarningType)),
254
- created_by: joi.string().uuid().allow(null).optional(),
255
- };
256
- export const updateBody = joi
257
- .object()
258
- .keys(updateBodyKeys)
259
- .and('reason_for_exemption_id', 'reason_for_exemption')
260
- .and('persona_id', 'contact_name', 'email', 'phone_number')
261
- .and(
262
- 'delivery_country_name',
263
- 'delivery_country_id',
264
- 'delivery_street',
265
- 'delivery_locality',
266
- 'delivery_postal_code',
267
- )
268
- .and(
269
- 'billing_country_name',
270
- 'billing_country_id',
271
- 'billing_street',
272
- 'billing_locality',
273
- 'billing_postal_code',
274
- )
275
- .and('payment_method_id', 'payment_method')
276
- .and('maturity_date_id', 'maturity_date', 'maturity_date_days')
277
- .and('delivery_method_id', 'delivery_method')
278
- .and('delivery_departure_street', 'delivery_departure_postal_code', 'delivery_departure_locality')
279
- .and('vehicle_id', 'vehicle')
280
- .messages(messages);
281
-
282
- const transferClientOwnershipBodyKeys: IShared.IRouteRequest<ITransferOwnershipRequest> = {
283
- document_header_id: joi.string().uuid().required(),
284
- client_id: joi.string().uuid().required(),
285
- };
286
- export const transferClientOwnershipBody = joi
287
- .object()
288
- .keys(transferClientOwnershipBodyKeys)
289
- .messages(messages);
290
-
291
- const updateManyWithPersonaBodyKeys: IShared.IRouteRequest<IUpdateManyWithPersona> = {
292
- id: joi.string().uuid().required(),
293
- name: joi.string().allow(null).optional(),
294
- telephone: joi.string().allow(null).optional(),
295
- email: joi
296
- .string()
297
- .email({ tlds: { allow: false } })
298
- .allow(null)
299
- .optional(),
300
- street: joi.string().allow(null).optional(),
301
- locality: joi.string().allow(null).optional(),
302
- postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
303
- country_id: joi.string().uuid().allow(null).optional(),
304
- country_name: joi.string().allow(null).optional(),
305
- };
306
- export const updateManyWithPersonaBody = joi
307
- .object()
308
- .keys(updateManyWithPersonaBodyKeys)
309
- .messages(messages);
310
-
311
- const sendClientNotificationBodyKeys: IShared.IRouteRequest<ISendClientNotificationRequest> = {
312
- name: joi.string().allow('', null).required(),
313
- email: joi
314
- .string()
315
- .email({ tlds: { allow: false } })
316
- .allow('', null)
317
- .required(),
318
- dontSendEmail: joi.boolean().default(false).optional(),
319
- };
320
- export const sendClientNotificationBody = joi
321
- .object()
322
- .keys(sendClientNotificationBodyKeys)
323
- .messages(messages);
324
-
325
- const findByTypeQueryKeys: IShared.IRouteRequest<IFindByTypeRequest> = {
326
- documentTypeCodes: joi
327
- .array()
328
- .items(
329
- joi
330
- .string()
331
- .valid(...documentTypeCodeTypes)
332
- .required(),
333
- )
334
- .required(),
335
- };
336
- export const findByTypeQuery = joi.object().keys(findByTypeQueryKeys).messages(messages);
337
-
338
- const documentPdfQueryKeys: IShared.IRouteRequest<IDocumentPdfRequest> = {
339
- token: joi.string().optional(),
340
- };
341
-
342
- export const documentPdfQuery = joi.object().keys(documentPdfQueryKeys).messages(messages);
343
-
344
- export const documentLineQuery = joi
345
- .object<IShared.IRouteRequest<IDocumentListRequest>>()
346
- .keys({
347
- closed: joi.boolean().default(false).optional(),
348
- })
349
- .messages(messages);
350
-
351
- // regularizar multiplos documentos
352
- const multipleDocumentsBodyKeys: IShared.IRouteRequest<IMultipleRegularizationDocuments> = {
353
- owner_id: joi.string().uuid().required(),
354
- document_header_id: joi.string().uuid().required(),
355
- type: joi.string().valid('credit', 'debit').required(),
356
- value: joi.number().positive().required(),
357
- };
358
-
359
- const multiplePaymentsBodyKeys: IShared.IRouteRequest<IMultipleRegularizationPayments> = {
360
- value: joi.number().positive().required(),
361
- payment_method_id: joi.string().uuid().required(),
362
- payment_method: joi.string().required(),
363
- };
364
- const regularizarMultiplosBodyKeys: IShared.IRouteRequest<IMultipleRegularizations> = {
365
- documents: joi.array().items(multipleDocumentsBodyKeys).required(),
366
- payments: joi.array().items(multiplePaymentsBodyKeys).optional(),
367
- };
368
- export const regularizarMultiplosBody = joi
369
- .object()
370
- .keys(regularizarMultiplosBodyKeys)
371
- .messages(messages);
@@ -1,15 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { DocumentHeaderHistory } from '../../../shared/entities/stock';
3
-
4
- export type Entity = DocumentHeaderHistory;
5
- export const Route = 'documentHeaderHistory';
6
- export const UpperName = 'DocumentHeaderHistory';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export type IFindByOwnerIdResponse = Omit<DocumentHeaderHistory, 'id' | 'document_header_id'>;
10
-
11
- export interface IRepository {
12
- findByOwnerId(selector: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
13
- }
14
-
15
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,210 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import {
3
- DocumentLine,
4
- DocumentLineVirtuals,
5
- DocumentLinePendingConflict,
6
- DocumentLineBaseVirtuals,
7
- ProductPromotionVirtuals,
8
- DocumentLineNote,
9
- DocumentLineRM,
10
- } from '../../../shared/entities/stock';
11
- import * as IDocumentLineAssoc from '../documentLineAssoc/interfaces';
12
- import { IDocumentTypeCodeType, IDocumentTypeUserType } from '../documentType/interfaces';
13
- import { IProductType } from '../../stock/productGoogleSheets/interface';
14
- import type { IGetProductType, IGetProductGroup } from '../../integration/googleSheets/interfaces';
15
-
16
- export type Entity = DocumentLine;
17
- export const Route = 'documentLine';
18
- export const UpperName = 'DocumentLine';
19
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
20
-
21
- export type IDocumentLineVirtuals = DocumentLineVirtuals;
22
- export type IDocumentLineBaseVirtuals = DocumentLineBaseVirtuals;
23
- export type IDocumentLineRM = DocumentLineRM;
24
-
25
- export type IPromotions = Pick<
26
- ProductPromotionVirtuals,
27
- 'exclusive_to_location_id' | 'exclusive_to_client_id' | 'discount'
28
- >;
29
-
30
- export type IDataKeys =
31
- | 'Conferir Encomenda' // Informações durante a conferência de encomenda de fornecedor: Espera Info Cliente ou interna, Espera Nomalism, etc
32
- // aviso cliente
33
- | 'AvisoCliente'
34
- // entrada de material
35
- | 'Quantidade Encomendada Originalmente' // Usado na entrada de material quando a quantidade de entrada é diferente da encomendada e o utilizador marca como conforme. Nesse caso a quantidade da encomenda é alterada para coincidir com a quantidade de entrada e a quantidade original encomendada é guardada nesta chave para histórico
36
- | 'Linha criada na EM' // Linha que foi criada na entrada de material resultante da desdobragem ou chegada inesperada
37
- | 'Opcao EM' // Usado para todas as seleções de entrada de material
38
- // devoluções a fornecedor
39
- | 'Levantar DF' // Parcela presa, marcada para devolução, dada como levantada
40
- | 'Enviar Email NCF' // DESCONTINUAR: Parcela presa, marcada para devolução, enviado email ao fornecedor a pedir emissão de nota de crédito
41
- | 'Fechar DF' // DESCONTINUAR: Parcela presa, marcada para devolução, fechada
42
- // regularizações
43
- | 'Documento pago' // Usado nas linhas da NPF que regularizam documentos não-legados
44
- | 'Pagamento' // Usado nas linhas da NPF que regularizam documentos PHC
45
- | 'Recibo do documento' // Usado por linhas de recibo para indicar a fatura relacionada
46
- // existem e são usados no SQL mas não precisam ser acedidos por código:
47
- // | 'Saldos Migrados'
48
- // | 'Estado PHC'
49
- // pdf retry
50
- | 'Emitir' // Foi solicitada a emissão de documento externo manualmente
51
- | 'Backup PDF'; // Foi solicitado o backup do PDF externo manualmente
52
-
53
- export interface IDataPayload {
54
- value: unknown;
55
- updated_at: Date;
56
- updated_by: string;
57
- location_id: string;
58
- history?: IDataPayload[];
59
- }
60
-
61
- export type IData = { [K in IDataKeys]?: IDataPayload };
62
-
63
- export interface IImportedFromSheets {
64
- type: IGetProductType;
65
- group: IGetProductGroup;
66
- index: number;
67
- reference: string;
68
- }
69
-
70
- export interface IDataDocumentoPago {
71
- name: string;
72
- dh_id: string;
73
- value: number;
74
- discount_value: number;
75
- }
76
-
77
- export interface IDataPagamento {
78
- name: string;
79
- cca_id?: string;
80
- pca_id?: string;
81
- value: number;
82
- discount_value: number;
83
- }
84
-
85
- export interface IDocumentLineDocuments {
86
- code: IDocumentTypeCodeType;
87
- user_type: IDocumentTypeUserType;
88
- start_document_header_id?: string;
89
- pdf_link?: string;
90
- external_url?: string;
91
- label?: string;
92
- edh_id?: string;
93
- }
94
-
95
- export interface IHistory {
96
- what: string;
97
- when: string;
98
- who: string;
99
- }
100
-
101
- export interface IEntityExtended extends Omit<DocumentLine, 'data'> {
102
- group: string;
103
- document_headers: IDocumentLineDocuments[];
104
- document_line_rm: IDocumentLineRM | null;
105
- pending_conflict: DocumentLinePendingConflict | null;
106
- document_line_notes: DocumentLineNote[];
107
- product_type: IProductType | null;
108
- product_id_provider: number | null;
109
- product_provider_ref: string | null;
110
- product_dnt_come_anymore: boolean;
111
- product_no_discount: boolean;
112
- product_measure: string | null;
113
- product_integer_only: boolean;
114
- }
115
-
116
- export interface ICreateRequest
117
- extends Omit<IDocumentLineAssoc.ICreateRequest, 'document_line_id'> {
118
- document_line_id?: string;
119
-
120
- product_id?: string;
121
- quantity: number;
122
- preco_venda: number;
123
- client_tax: number;
124
- client_discount: number;
125
- preco_custo: number;
126
- provider_tax: number;
127
- provider_discount: number;
128
- document_line_group_id?: string;
129
- data: IData;
130
- }
131
-
132
- export interface IUpdateRequest {
133
- product_id?: string;
134
- quantity?: number;
135
- preco_venda?: number;
136
- client_tax?: number;
137
- client_discount?: number;
138
- preco_custo?: number;
139
- provider_tax?: number;
140
- provider_discount?: number;
141
- provider_purchase_discount?: number;
142
- document_line_group_id?: string;
143
- sent_to_client?: boolean;
144
- sent_to_provider?: boolean;
145
- }
146
-
147
- export interface IUpdateDataRequest {
148
- trigger_states?: boolean;
149
-
150
- document_header_id: string;
151
- document_line_ids: string[];
152
- datafield: IDataKeys;
153
- payload: IDataPayload;
154
- }
155
-
156
- export interface IUpdateManyRequest {
157
- ids: string[];
158
- client_discount?: number;
159
- price_cost?: number;
160
- provider_discount?: number;
161
- provider_estimated_delivery_date?: Date | null;
162
- provider_purchase_discount?: number;
163
- consignacao?: boolean;
164
- cancelled?: boolean;
165
- }
166
-
167
- export interface IUpdateManyByDocumentHeaderRequest {
168
- sent_to_provider?: boolean;
169
- }
170
-
171
- export interface IUpdateDataRequestWithoutStamps extends Omit<IUpdateDataRequest, 'payload'> {
172
- payload: Pick<IDataPayload, 'value'> & {
173
- updated_by?: string;
174
- };
175
- }
176
-
177
- export interface IUpdateLineStatesTriggerResponse {
178
- document_header_id: string;
179
- trigger_event: boolean;
180
- broker_topic?: IShared.IBrokerTopic;
181
- }
182
-
183
- export interface IPrintLabelParamsRequest {
184
- document_line_ids: string;
185
- }
186
-
187
- export interface IPrintLabelQueryRequest {
188
- token: string;
189
- }
190
-
191
- export interface IRepository {
192
- create(data: ICreateRequest[]): Promise<IDocumentLineAssoc.IEntityExtended[]>;
193
-
194
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
195
-
196
- updateData(data: IUpdateDataRequest): Promise<IDocumentLineAssoc.IEntityWithDocumentLine[]>;
197
-
198
- updateMany(data: IUpdateManyRequest): Promise<void>;
199
-
200
- updateManyByDocumentHeader(
201
- selector: IShared.IFindByIdRequest,
202
- data: IUpdateManyByDocumentHeaderRequest,
203
- ): Promise<void>;
204
-
205
- updateIndexes(document_line_ids: string[]): Promise<void>;
206
-
207
- deleteMany(document_line_ids: string[]): Promise<void>;
208
- }
209
-
210
- export type IController = IShared.IEntityWithUserToken<IRepository>;