@nomalism-com/types 0.37.7 → 0.37.8

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 (250) hide show
  1. package/dist/index.cjs +2 -4
  2. package/dist/index.js +2 -4
  3. package/dist/modules/supply/documentSet/interface.d.ts +0 -2
  4. package/dist/shared/entities/stock.d.ts +0 -1
  5. package/package.json +4 -1
  6. package/.editorconfig +0 -9
  7. package/.prettierrc +0 -7
  8. package/eslint.config.mjs +0 -39
  9. package/package-lock.json +0 -4327
  10. package/src/index.ts +0 -3
  11. package/src/main.ts +0 -672
  12. package/src/modules/document/billOfLading/interfaces.ts +0 -26
  13. package/src/modules/document/billOfLading/route.schema.ts +0 -32
  14. package/src/modules/document/inventario/interface.ts +0 -19
  15. package/src/modules/document/inventario/route.schema.ts +0 -16
  16. package/src/modules/document/materialEntrance/interfaces.ts +0 -207
  17. package/src/modules/document/materialEntrance/route.schema.ts +0 -53
  18. package/src/modules/document/order/interfaces.ts +0 -172
  19. package/src/modules/document/order/route.schema.ts +0 -61
  20. package/src/modules/document/productionOrder/interfaces.ts +0 -12
  21. package/src/modules/document/productionOrder/route.schema.ts +0 -13
  22. package/src/modules/document/proforma/interfaces.ts +0 -15
  23. package/src/modules/document/proforma/route.schema.ts +0 -14
  24. package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
  25. package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
  26. package/src/modules/document/propostaSheets/interface.ts +0 -113
  27. package/src/modules/document/propostaSheets/route.schema.ts +0 -45
  28. package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
  29. package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
  30. package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
  31. package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
  32. package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
  33. package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
  34. package/src/modules/document/purchase/interfaces.ts +0 -112
  35. package/src/modules/document/purchase/route.schema.ts +0 -51
  36. package/src/modules/document/quebra/interfaces.ts +0 -46
  37. package/src/modules/document/quebra/route.schema.ts +0 -25
  38. package/src/modules/document/returnToProvider/interface.ts +0 -59
  39. package/src/modules/document/returnToProvider/route.schema.ts +0 -27
  40. package/src/modules/document/transformado/interfaces.ts +0 -31
  41. package/src/modules/document/transformado/route.schema.ts +0 -26
  42. package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
  43. package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
  44. package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
  45. package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
  46. package/src/modules/integration/emailLog/interfaces.ts +0 -111
  47. package/src/modules/integration/emailLog/route.schema.ts +0 -18
  48. package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
  49. package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
  50. package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
  51. package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
  52. package/src/modules/integration/emailVerification/interfaces.ts +0 -30
  53. package/src/modules/integration/emailVerification/route.schema.ts +0 -34
  54. package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
  55. package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
  56. package/src/modules/integration/googleSheets/interfaces.ts +0 -98
  57. package/src/modules/integration/googleSheets/route.schema.ts +0 -52
  58. package/src/modules/integration/observation/interfaces.ts +0 -61
  59. package/src/modules/integration/observation/route.schema.ts +0 -40
  60. package/src/modules/integration/observationType/interfaces.ts +0 -37
  61. package/src/modules/integration/observationType/route.schema.ts +0 -17
  62. package/src/modules/integration/projectInfo/interfaces.ts +0 -26
  63. package/src/modules/integration/projectInfo/route.schema.ts +0 -18
  64. package/src/modules/integration/settings/interfaces.ts +0 -31
  65. package/src/modules/integration/settings/route.schema.ts +0 -24
  66. package/src/modules/print/npc/interfaces.ts +0 -34
  67. package/src/modules/print/npc/route.schema.ts +0 -21
  68. package/src/modules/print/printer/interfaces.ts +0 -47
  69. package/src/modules/print/printer/route.schema.ts +0 -60
  70. package/src/modules/print/schedulePrintJob/interfaces.ts +0 -48
  71. package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
  72. package/src/modules/stock/chat/interfaces.ts +0 -82
  73. package/src/modules/stock/chat/route.schema.ts +0 -28
  74. package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
  75. package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
  76. package/src/modules/stock/dashboard/interface.ts +0 -25
  77. package/src/modules/stock/dashboard/route.schema.ts +0 -11
  78. package/src/modules/stock/file/interface.ts +0 -37
  79. package/src/modules/stock/file/route.schema.ts +0 -37
  80. package/src/modules/stock/location/interface.ts +0 -77
  81. package/src/modules/stock/location/route.schema.ts +0 -57
  82. package/src/modules/stock/prison/interface.ts +0 -70
  83. package/src/modules/stock/prison/route.schema.ts +0 -50
  84. package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
  85. package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
  86. package/src/modules/stock/productImage/interface.ts +0 -69
  87. package/src/modules/stock/productImage/route.schema.ts +0 -52
  88. package/src/modules/stock/promotion/interface.ts +0 -61
  89. package/src/modules/stock/promotion/route.schema.ts +0 -39
  90. package/src/modules/stock/promotionAssoc/interface.ts +0 -62
  91. package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
  92. package/src/modules/stock/queryList/interfaces.ts +0 -56
  93. package/src/modules/stock/queryList/route.schema.ts +0 -37
  94. package/src/modules/stock/queryParameter/interfaces.ts +0 -72
  95. package/src/modules/stock/queryParameter/route.schema.ts +0 -36
  96. package/src/modules/stock/recurrentTasks/interface.ts +0 -12
  97. package/src/modules/stock/returnReason/interfaces.ts +0 -23
  98. package/src/modules/stock/returnReason/route.schema.ts +0 -14
  99. package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
  100. package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
  101. package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
  102. package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
  103. package/src/modules/stock/sideMenu/interface.ts +0 -48
  104. package/src/modules/stock/sideMenu/route.schema.ts +0 -20
  105. package/src/modules/stock/stockMovement/interface.ts +0 -78
  106. package/src/modules/stock/stockMovement/route.schema.ts +0 -34
  107. package/src/modules/stock/tag/interface.ts +0 -36
  108. package/src/modules/stock/tag/route.schema.ts +0 -30
  109. package/src/modules/stock/task/interface.ts +0 -126
  110. package/src/modules/stock/task/route.schema.ts +0 -48
  111. package/src/modules/stock/taskMessage/interface.ts +0 -18
  112. package/src/modules/stock/taskMessage/route.schema.ts +0 -19
  113. package/src/modules/stock/taskRead/interface.ts +0 -17
  114. package/src/modules/stock/taskRead/route.schema.ts +0 -18
  115. package/src/modules/stock/typeOfLocation/interface.ts +0 -51
  116. package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
  117. package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
  118. package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
  119. package/src/modules/stock/vatTax/interface.ts +0 -55
  120. package/src/modules/stock/vatTax/route.schema.ts +0 -33
  121. package/src/modules/stock/vatTaxZone/interface.ts +0 -63
  122. package/src/modules/stock/vatTaxZone/route.schema.ts +0 -42
  123. package/src/modules/stock/vatValidation/interfaces.ts +0 -10
  124. package/src/modules/stock/vatValidation/route.schema.ts +0 -8
  125. package/src/modules/stock/workflow/interfaces.ts +0 -64
  126. package/src/modules/stock/workflow/route.schema.ts +0 -28
  127. package/src/modules/supply/batch/interface.ts +0 -0
  128. package/src/modules/supply/documentHeader/interfaces.ts +0 -497
  129. package/src/modules/supply/documentHeader/route.schema.ts +0 -371
  130. package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
  131. package/src/modules/supply/documentLine/interfaces.ts +0 -210
  132. package/src/modules/supply/documentLine/route.schema.ts +0 -108
  133. package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
  134. package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
  135. package/src/modules/supply/documentLineMT/interface.ts +0 -27
  136. package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
  137. package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
  138. package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
  139. package/src/modules/supply/documentLineRM/interface.ts +0 -34
  140. package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
  141. package/src/modules/supply/documentSet/interface.ts +0 -31
  142. package/src/modules/supply/documentSet/route.schema.ts +0 -20
  143. package/src/modules/supply/documentType/interfaces.ts +0 -214
  144. package/src/modules/supply/documentType/route.schema.ts +0 -75
  145. package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
  146. package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
  147. package/src/modules/supply/externalDocumentType/interface.ts +0 -14
  148. package/src/modules/supply/orderManagement/interface.ts +0 -49
  149. package/src/modules/supply/orderManagement/route.schema.ts +0 -0
  150. package/src/modules/supply/payment/interface.ts +0 -229
  151. package/src/modules/supply/payment/route.schema.ts +0 -122
  152. package/src/modules/supply/preSale/interface.ts +0 -92
  153. package/src/modules/supply/preSale/route.schema.ts +0 -75
  154. package/src/modules/supply/preSaleProduct/interface.ts +0 -16
  155. package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
  156. package/src/modules/supply/schedule/interface.ts +0 -47
  157. package/src/modules/supply/schedule/route.schema.ts +0 -14
  158. package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
  159. package/src/modules/tickets/channel/interfaces.ts +0 -35
  160. package/src/modules/tickets/channel/route.schema.ts +0 -24
  161. package/src/modules/tickets/clt/interfaces.ts +0 -26
  162. package/src/modules/tickets/clt/route.schema.ts +0 -24
  163. package/src/modules/tickets/language/interfaces.ts +0 -25
  164. package/src/modules/tickets/language/route.schema.ts +0 -28
  165. package/src/modules/tickets/tickets/interfaces.ts +0 -80
  166. package/src/modules/tickets/tickets/route.schema.ts +0 -19
  167. package/src/modules/user/bankData/interface.ts +0 -64
  168. package/src/modules/user/bankData/route.schema.ts +0 -40
  169. package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
  170. package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
  171. package/src/modules/user/clientType/interface.ts +0 -47
  172. package/src/modules/user/clientType/route.schema.ts +0 -31
  173. package/src/modules/user/clients/interface.ts +0 -138
  174. package/src/modules/user/clients/route.schema.ts +0 -87
  175. package/src/modules/user/commissioner/interface.ts +0 -110
  176. package/src/modules/user/commissioner/route.schema.ts +0 -65
  177. package/src/modules/user/country/interface.ts +0 -54
  178. package/src/modules/user/country/route.schema.ts +0 -36
  179. package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
  180. package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
  181. package/src/modules/user/favorites/interfaces.ts +0 -28
  182. package/src/modules/user/favorites/route.schema.ts +0 -19
  183. package/src/modules/user/groupPermissions/interface.ts +0 -32
  184. package/src/modules/user/groupPermissions/route.schema.ts +0 -11
  185. package/src/modules/user/language/interface.ts +0 -47
  186. package/src/modules/user/language/route.schema.ts +0 -28
  187. package/src/modules/user/maturityDates/interfaces.ts +0 -31
  188. package/src/modules/user/maturityDates/route.schema.ts +0 -18
  189. package/src/modules/user/password/interfaces.ts +0 -21
  190. package/src/modules/user/password/route.schema.ts +0 -22
  191. package/src/modules/user/paymentMethods/interfaces.ts +0 -72
  192. package/src/modules/user/paymentMethods/route.schema.ts +0 -27
  193. package/src/modules/user/permissions/interface.ts +0 -34
  194. package/src/modules/user/permissions/route.schema.ts +0 -11
  195. package/src/modules/user/persona/interface.ts +0 -157
  196. package/src/modules/user/persona/route.schema.ts +0 -101
  197. package/src/modules/user/providerType/interface.ts +0 -47
  198. package/src/modules/user/providerType/route.schema.ts +0 -28
  199. package/src/modules/user/providers/interface.ts +0 -130
  200. package/src/modules/user/providers/route.schema.ts +0 -85
  201. package/src/modules/user/purchaseConditions/interface.ts +0 -58
  202. package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
  203. package/src/modules/user/reasonForExemption/interface.ts +0 -53
  204. package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
  205. package/src/modules/user/refreshToken/interface.ts +0 -19
  206. package/src/modules/user/refreshToken/route.schema.ts +0 -10
  207. package/src/modules/user/segmentsArea/interface.ts +0 -49
  208. package/src/modules/user/segmentsArea/route.schema.ts +0 -30
  209. package/src/modules/user/sessions/interface.ts +0 -24
  210. package/src/modules/user/sessions/route.schema.ts +0 -10
  211. package/src/modules/user/shippings/interface.ts +0 -57
  212. package/src/modules/user/shippings/route.schema.ts +0 -35
  213. package/src/modules/user/storeOperator/interface.ts +0 -42
  214. package/src/modules/user/storeOperator/route.schema.ts +0 -45
  215. package/src/modules/user/swift/interface.ts +0 -55
  216. package/src/modules/user/swift/route.schema.ts +0 -36
  217. package/src/modules/user/tenant/interface.ts +0 -59
  218. package/src/modules/user/tenant/route.schema.ts +0 -46
  219. package/src/modules/user/theme/interfaces.ts +0 -21
  220. package/src/modules/user/theme/route.schema.ts +0 -19
  221. package/src/modules/user/userPermissions/interface.ts +0 -28
  222. package/src/modules/user/userPermissions/route.schema.ts +0 -12
  223. package/src/modules/user/userPositions/interface.ts +0 -47
  224. package/src/modules/user/userPositions/route.schema.ts +0 -29
  225. package/src/modules/user/userTokens/interface.ts +0 -41
  226. package/src/modules/user/userTokens/route.schema.ts +0 -17
  227. package/src/modules/user/users/interface.ts +0 -177
  228. package/src/modules/user/users/route.schema.ts +0 -58
  229. package/src/modules/user/vehicles/interfaces.ts +0 -31
  230. package/src/modules/user/vehicles/route.schema.ts +0 -17
  231. package/src/modules/user/zipCode/interfaces.ts +0 -27
  232. package/src/modules/user/zipCode/route.schema.ts +0 -26
  233. package/src/modules/view/adminPanel/interfaces.ts +0 -180
  234. package/src/modules/view/errorLog/interfaces.ts +0 -36
  235. package/src/modules/view/errorLog/route.schema.ts +0 -25
  236. package/src/shared/entities/documentManagement.ts +0 -16
  237. package/src/shared/entities/integration.ts +0 -136
  238. package/src/shared/entities/print.ts +0 -49
  239. package/src/shared/entities/stock.ts +0 -1248
  240. package/src/shared/entities/tickets.ts +0 -82
  241. package/src/shared/entities/user.ts +0 -540
  242. package/src/shared/errors/documentManagementErrors.ts +0 -13
  243. package/src/shared/errors/integrationErrors.ts +0 -44
  244. package/src/shared/errors/stockErrors.ts +0 -267
  245. package/src/shared/errors/userErrors.ts +0 -108
  246. package/src/shared/errors/viewErrors.ts +0 -6
  247. package/src/shared/interface.ts +0 -548
  248. package/src/shared/messages.ts +0 -141
  249. package/tsconfig.json +0 -20
  250. 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>;