@nomalism-com/types 0.36.32 → 0.37.2

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 (267) hide show
  1. package/dist/index.cjs +38 -49
  2. package/dist/index.js +38 -49
  3. package/dist/modules/document/billOfLading/interfaces.d.ts +0 -4
  4. package/dist/modules/print/npc/interfaces.d.ts +1 -0
  5. package/dist/modules/print/schedulePrintJob/interfaces.d.ts +1 -0
  6. package/dist/modules/stock/vatTax/interface.d.ts +2 -0
  7. package/dist/modules/supply/documentHeader/interfaces.d.ts +28 -2
  8. package/dist/modules/supply/documentSet/interface.d.ts +2 -6
  9. package/dist/modules/supply/documentType/interfaces.d.ts +2 -0
  10. package/dist/modules/user/country/route.schema.d.ts +0 -7
  11. package/dist/modules/user/paymentMethods/interfaces.d.ts +18 -0
  12. package/dist/modules/view/errorLog/interfaces.d.ts +12 -3
  13. package/dist/shared/entities/print.d.ts +1 -0
  14. package/dist/shared/entities/stock.d.ts +6 -7
  15. package/dist/shared/interface.d.ts +2 -10
  16. package/package.json +16 -20
  17. package/.editorconfig +0 -9
  18. package/.prettierrc +0 -7
  19. package/eslint.config.mjs +0 -39
  20. package/package-lock.json +0 -4327
  21. package/src/index.ts +0 -3
  22. package/src/main.ts +0 -693
  23. package/src/modules/document/billOfLading/interfaces.ts +0 -31
  24. package/src/modules/document/billOfLading/route.schema.ts +0 -32
  25. package/src/modules/document/inventario/interface.ts +0 -19
  26. package/src/modules/document/inventario/route.schema.ts +0 -16
  27. package/src/modules/document/materialEntrance/interfaces.ts +0 -207
  28. package/src/modules/document/materialEntrance/route.schema.ts +0 -53
  29. package/src/modules/document/order/interfaces.ts +0 -172
  30. package/src/modules/document/order/route.schema.ts +0 -61
  31. package/src/modules/document/productionOrder/interfaces.ts +0 -12
  32. package/src/modules/document/productionOrder/route.schema.ts +0 -13
  33. package/src/modules/document/proforma/interfaces.ts +0 -15
  34. package/src/modules/document/proforma/route.schema.ts +0 -14
  35. package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
  36. package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
  37. package/src/modules/document/propostaSheets/interface.ts +0 -113
  38. package/src/modules/document/propostaSheets/route.schema.ts +0 -45
  39. package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
  40. package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
  41. package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
  42. package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
  43. package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
  44. package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
  45. package/src/modules/document/purchase/interfaces.ts +0 -112
  46. package/src/modules/document/purchase/route.schema.ts +0 -51
  47. package/src/modules/document/quebra/interfaces.ts +0 -46
  48. package/src/modules/document/quebra/route.schema.ts +0 -25
  49. package/src/modules/document/returnToProvider/interface.ts +0 -59
  50. package/src/modules/document/returnToProvider/route.schema.ts +0 -27
  51. package/src/modules/document/transformado/interfaces.ts +0 -31
  52. package/src/modules/document/transformado/route.schema.ts +0 -26
  53. package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
  54. package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
  55. package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
  56. package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
  57. package/src/modules/integration/emailLog/interfaces.ts +0 -111
  58. package/src/modules/integration/emailLog/route.schema.ts +0 -18
  59. package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
  60. package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
  61. package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
  62. package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
  63. package/src/modules/integration/emailVerification/interfaces.ts +0 -30
  64. package/src/modules/integration/emailVerification/route.schema.ts +0 -34
  65. package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
  66. package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
  67. package/src/modules/integration/googleSheets/interfaces.ts +0 -98
  68. package/src/modules/integration/googleSheets/route.schema.ts +0 -52
  69. package/src/modules/integration/observation/interfaces.ts +0 -61
  70. package/src/modules/integration/observation/route.schema.ts +0 -40
  71. package/src/modules/integration/observationType/interfaces.ts +0 -37
  72. package/src/modules/integration/observationType/route.schema.ts +0 -17
  73. package/src/modules/integration/projectInfo/interfaces.ts +0 -26
  74. package/src/modules/integration/projectInfo/route.schema.ts +0 -18
  75. package/src/modules/integration/settings/interfaces.ts +0 -31
  76. package/src/modules/integration/settings/route.schema.ts +0 -24
  77. package/src/modules/print/npc/interfaces.ts +0 -33
  78. package/src/modules/print/npc/route.schema.ts +0 -21
  79. package/src/modules/print/printer/interfaces.ts +0 -47
  80. package/src/modules/print/printer/route.schema.ts +0 -60
  81. package/src/modules/print/schedulePrintJob/interfaces.ts +0 -47
  82. package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
  83. package/src/modules/stock/chat/interfaces.ts +0 -82
  84. package/src/modules/stock/chat/route.schema.ts +0 -28
  85. package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
  86. package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
  87. package/src/modules/stock/dashboard/interface.ts +0 -25
  88. package/src/modules/stock/dashboard/route.schema.ts +0 -11
  89. package/src/modules/stock/file/interface.ts +0 -37
  90. package/src/modules/stock/file/route.schema.ts +0 -37
  91. package/src/modules/stock/location/interface.ts +0 -77
  92. package/src/modules/stock/location/route.schema.ts +0 -57
  93. package/src/modules/stock/prison/interface.ts +0 -70
  94. package/src/modules/stock/prison/route.schema.ts +0 -50
  95. package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
  96. package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
  97. package/src/modules/stock/productImage/interface.ts +0 -69
  98. package/src/modules/stock/productImage/route.schema.ts +0 -52
  99. package/src/modules/stock/promotion/interface.ts +0 -61
  100. package/src/modules/stock/promotion/route.schema.ts +0 -39
  101. package/src/modules/stock/promotionAssoc/interface.ts +0 -62
  102. package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
  103. package/src/modules/stock/queryList/interfaces.ts +0 -56
  104. package/src/modules/stock/queryList/route.schema.ts +0 -37
  105. package/src/modules/stock/queryParameter/interfaces.ts +0 -72
  106. package/src/modules/stock/queryParameter/route.schema.ts +0 -36
  107. package/src/modules/stock/recurrentTasks/interface.ts +0 -12
  108. package/src/modules/stock/returnReason/interfaces.ts +0 -23
  109. package/src/modules/stock/returnReason/route.schema.ts +0 -14
  110. package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
  111. package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
  112. package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
  113. package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
  114. package/src/modules/stock/sideMenu/interface.ts +0 -48
  115. package/src/modules/stock/sideMenu/route.schema.ts +0 -20
  116. package/src/modules/stock/stockMovement/interface.ts +0 -78
  117. package/src/modules/stock/stockMovement/route.schema.ts +0 -34
  118. package/src/modules/stock/tag/interface.ts +0 -36
  119. package/src/modules/stock/tag/route.schema.ts +0 -30
  120. package/src/modules/stock/task/interface.ts +0 -126
  121. package/src/modules/stock/task/route.schema.ts +0 -48
  122. package/src/modules/stock/taskMessage/interface.ts +0 -18
  123. package/src/modules/stock/taskMessage/route.schema.ts +0 -19
  124. package/src/modules/stock/taskRead/interface.ts +0 -17
  125. package/src/modules/stock/taskRead/route.schema.ts +0 -18
  126. package/src/modules/stock/typeOfLocation/interface.ts +0 -51
  127. package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
  128. package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
  129. package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
  130. package/src/modules/stock/vatTax/interface.ts +0 -53
  131. package/src/modules/stock/vatTax/route.schema.ts +0 -31
  132. package/src/modules/stock/vatTaxZone/interface.ts +0 -61
  133. package/src/modules/stock/vatTaxZone/route.schema.ts +0 -40
  134. package/src/modules/stock/vatValidation/interfaces.ts +0 -10
  135. package/src/modules/stock/vatValidation/route.schema.ts +0 -8
  136. package/src/modules/stock/workflow/interfaces.ts +0 -64
  137. package/src/modules/stock/workflow/route.schema.ts +0 -28
  138. package/src/modules/supply/batch/interface.ts +0 -0
  139. package/src/modules/supply/clientCurrentAccount/interfaces.ts +0 -152
  140. package/src/modules/supply/clientCurrentAccount/route.schema.ts +0 -66
  141. package/src/modules/supply/counter/interfaces.ts +0 -34
  142. package/src/modules/supply/counter/route.schema.ts +0 -26
  143. package/src/modules/supply/documentHeader/interfaces.ts +0 -443
  144. package/src/modules/supply/documentHeader/route.schema.ts +0 -347
  145. package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
  146. package/src/modules/supply/documentLine/interfaces.ts +0 -210
  147. package/src/modules/supply/documentLine/route.schema.ts +0 -108
  148. package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
  149. package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
  150. package/src/modules/supply/documentLineMT/interface.ts +0 -27
  151. package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
  152. package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
  153. package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
  154. package/src/modules/supply/documentLineRM/interface.ts +0 -34
  155. package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
  156. package/src/modules/supply/documentSet/interface.ts +0 -35
  157. package/src/modules/supply/documentSet/route.schema.ts +0 -24
  158. package/src/modules/supply/documentType/interfaces.ts +0 -212
  159. package/src/modules/supply/documentType/route.schema.ts +0 -73
  160. package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
  161. package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
  162. package/src/modules/supply/externalDocumentType/interface.ts +0 -14
  163. package/src/modules/supply/orderManagement/interface.ts +0 -49
  164. package/src/modules/supply/orderManagement/route.schema.ts +0 -0
  165. package/src/modules/supply/payment/interface.ts +0 -229
  166. package/src/modules/supply/payment/route.schema.ts +0 -122
  167. package/src/modules/supply/preSale/interface.ts +0 -92
  168. package/src/modules/supply/preSale/route.schema.ts +0 -75
  169. package/src/modules/supply/preSaleProduct/interface.ts +0 -16
  170. package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
  171. package/src/modules/supply/providerCurrentAccount/interfaces.ts +0 -19
  172. package/src/modules/supply/providerCurrentAccount/route.schema.ts +0 -14
  173. package/src/modules/supply/schedule/interface.ts +0 -47
  174. package/src/modules/supply/schedule/route.schema.ts +0 -14
  175. package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
  176. package/src/modules/tickets/channel/interfaces.ts +0 -35
  177. package/src/modules/tickets/channel/route.schema.ts +0 -24
  178. package/src/modules/tickets/clt/interfaces.ts +0 -26
  179. package/src/modules/tickets/clt/route.schema.ts +0 -24
  180. package/src/modules/tickets/language/interfaces.ts +0 -25
  181. package/src/modules/tickets/language/route.schema.ts +0 -28
  182. package/src/modules/tickets/tickets/interfaces.ts +0 -80
  183. package/src/modules/tickets/tickets/route.schema.ts +0 -19
  184. package/src/modules/user/bankData/interface.ts +0 -64
  185. package/src/modules/user/bankData/route.schema.ts +0 -40
  186. package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
  187. package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
  188. package/src/modules/user/clientType/interface.ts +0 -47
  189. package/src/modules/user/clientType/route.schema.ts +0 -31
  190. package/src/modules/user/clients/interface.ts +0 -138
  191. package/src/modules/user/clients/route.schema.ts +0 -87
  192. package/src/modules/user/commissioner/interface.ts +0 -110
  193. package/src/modules/user/commissioner/route.schema.ts +0 -65
  194. package/src/modules/user/country/interface.ts +0 -54
  195. package/src/modules/user/country/route.schema.ts +0 -97
  196. package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
  197. package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
  198. package/src/modules/user/favorites/interfaces.ts +0 -28
  199. package/src/modules/user/favorites/route.schema.ts +0 -19
  200. package/src/modules/user/groupPermissions/interface.ts +0 -32
  201. package/src/modules/user/groupPermissions/route.schema.ts +0 -11
  202. package/src/modules/user/language/interface.ts +0 -47
  203. package/src/modules/user/language/route.schema.ts +0 -28
  204. package/src/modules/user/maturityDates/interfaces.ts +0 -31
  205. package/src/modules/user/maturityDates/route.schema.ts +0 -18
  206. package/src/modules/user/password/interfaces.ts +0 -21
  207. package/src/modules/user/password/route.schema.ts +0 -22
  208. package/src/modules/user/paymentMethods/interfaces.ts +0 -37
  209. package/src/modules/user/paymentMethods/route.schema.ts +0 -23
  210. package/src/modules/user/permissions/interface.ts +0 -34
  211. package/src/modules/user/permissions/route.schema.ts +0 -11
  212. package/src/modules/user/persona/interface.ts +0 -157
  213. package/src/modules/user/persona/route.schema.ts +0 -101
  214. package/src/modules/user/providerType/interface.ts +0 -47
  215. package/src/modules/user/providerType/route.schema.ts +0 -28
  216. package/src/modules/user/providers/interface.ts +0 -130
  217. package/src/modules/user/providers/route.schema.ts +0 -85
  218. package/src/modules/user/purchaseConditions/interface.ts +0 -58
  219. package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
  220. package/src/modules/user/reasonForExemption/interface.ts +0 -53
  221. package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
  222. package/src/modules/user/refreshToken/interface.ts +0 -19
  223. package/src/modules/user/refreshToken/route.schema.ts +0 -10
  224. package/src/modules/user/segmentsArea/interface.ts +0 -49
  225. package/src/modules/user/segmentsArea/route.schema.ts +0 -30
  226. package/src/modules/user/sessions/interface.ts +0 -24
  227. package/src/modules/user/sessions/route.schema.ts +0 -10
  228. package/src/modules/user/shippings/interface.ts +0 -57
  229. package/src/modules/user/shippings/route.schema.ts +0 -35
  230. package/src/modules/user/storeOperator/interface.ts +0 -42
  231. package/src/modules/user/storeOperator/route.schema.ts +0 -45
  232. package/src/modules/user/swift/interface.ts +0 -55
  233. package/src/modules/user/swift/route.schema.ts +0 -36
  234. package/src/modules/user/tenant/interface.ts +0 -59
  235. package/src/modules/user/tenant/route.schema.ts +0 -46
  236. package/src/modules/user/theme/interfaces.ts +0 -21
  237. package/src/modules/user/theme/route.schema.ts +0 -19
  238. package/src/modules/user/userPermissions/interface.ts +0 -28
  239. package/src/modules/user/userPermissions/route.schema.ts +0 -12
  240. package/src/modules/user/userPositions/interface.ts +0 -47
  241. package/src/modules/user/userPositions/route.schema.ts +0 -29
  242. package/src/modules/user/userTokens/interface.ts +0 -41
  243. package/src/modules/user/userTokens/route.schema.ts +0 -17
  244. package/src/modules/user/users/interface.ts +0 -177
  245. package/src/modules/user/users/route.schema.ts +0 -58
  246. package/src/modules/user/vehicles/interfaces.ts +0 -31
  247. package/src/modules/user/vehicles/route.schema.ts +0 -17
  248. package/src/modules/user/zipCode/interfaces.ts +0 -27
  249. package/src/modules/user/zipCode/route.schema.ts +0 -26
  250. package/src/modules/view/adminPanel/interfaces.ts +0 -180
  251. package/src/modules/view/errorLog/interfaces.ts +0 -17
  252. package/src/modules/view/errorLog/route.schema.ts +0 -25
  253. package/src/shared/entities/documentManagement.ts +0 -16
  254. package/src/shared/entities/integration.ts +0 -136
  255. package/src/shared/entities/print.ts +0 -48
  256. package/src/shared/entities/stock.ts +0 -1336
  257. package/src/shared/entities/tickets.ts +0 -82
  258. package/src/shared/entities/user.ts +0 -538
  259. package/src/shared/errors/documentManagementErrors.ts +0 -13
  260. package/src/shared/errors/integrationErrors.ts +0 -44
  261. package/src/shared/errors/stockErrors.ts +0 -267
  262. package/src/shared/errors/userErrors.ts +0 -108
  263. package/src/shared/errors/viewErrors.ts +0 -6
  264. package/src/shared/interface.ts +0 -553
  265. package/src/shared/messages.ts +0 -141
  266. package/tsconfig.json +0 -20
  267. package/tsup.config.ts +0 -10
@@ -1,347 +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
- } from './interfaces';
19
- import { documentTypeCodeTypes } from '../documentType/interfaces';
20
-
21
- const createFromHeaderMaturityDate: IShared.IRouteRequest<ICreateFromHeaderMaturityDate> = {
22
- id: joi.string().uuid().required(),
23
- name: joi.string().required(),
24
- days: joi.number().integer().positive().allow(0).required(),
25
- };
26
-
27
- const createBodyKeys: IShared.IRouteRequestWithStamps<ICreateRequest> = {
28
- document_type_id: joi.number().required(),
29
-
30
- external_id: joi.string().allow(null).optional(),
31
- document_set_id: joi.string().uuid().required(),
32
- pdf_link: joi.string().allow(null).optional(),
33
- google_sheet_id: joi.string().allow(null).optional(),
34
- external_pdf_link: joi.string().allow(null).optional(),
35
- external_data: joi.any().optional(),
36
- sent: joi.boolean().optional(),
37
-
38
- owner_id: joi.string().uuid().required(),
39
- owner_number: joi.number().required(),
40
- owner_name: joi.string().required(),
41
-
42
- reason_for_exemption_id: joi.string().uuid().allow(null).optional(),
43
- reason_for_exemption: joi.string().allow(null),
44
-
45
- billing_persona_id: joi.string().uuid().allow(null).optional(),
46
- billing_persona_nif: joi.string().allow(null).optional(),
47
- billing_persona_name: joi.string().allow(null).optional(),
48
- billing_persona_email: joi
49
- .string()
50
- .email({ tlds: { allow: false } })
51
- .allow(null)
52
- .optional(),
53
- billing_persona_telephone: joi.string().allow(null).optional(),
54
- billing_persona_address_street: joi.string().allow(null).optional(),
55
- billing_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
56
- billing_persona_address_locality: joi.string().allow(null).optional(),
57
- billing_persona_address_country_id: joi.string().allow(null).optional(),
58
- billing_persona_address_country_name: joi.string().allow(null).optional(),
59
-
60
- delivery_persona_id: joi.string().uuid().allow(null).optional(),
61
- delivery_persona_name: joi.string().allow(null).optional(),
62
- delivery_persona_email: joi
63
- .string()
64
- .email({ tlds: { allow: false } })
65
- .allow(null)
66
- .optional(),
67
- delivery_persona_telephone: joi.string().allow(null).optional(),
68
- delivery_persona_address_street: joi.string().allow(null).optional(),
69
- delivery_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
70
- delivery_persona_address_locality: joi.string().allow(null).optional(),
71
- delivery_persona_address_country_id: joi.string().allow(null).optional(),
72
- delivery_persona_address_country_name: joi.string().allow(null).optional(),
73
-
74
- payment_method_id: joi.string().uuid().allow(null).optional(),
75
- payment_method: joi.string().allow(null).optional(),
76
-
77
- maturity_date: joi.object().keys(createFromHeaderMaturityDate).optional(),
78
-
79
- delivery_method_id: joi.string().uuid().allow(null).optional(),
80
- delivery_method: joi.string().allow(null).optional(),
81
-
82
- delivery_departure_street: joi.string().allow(null).optional(),
83
- delivery_departure_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
84
- delivery_departure_locality: joi.string().allow(null).optional(),
85
-
86
- vehicle_id: joi.string().uuid().allow(null).optional(),
87
- vehicle: joi.string().allow(null).optional(),
88
-
89
- commissioner_id: joi.string().uuid().allow(null).optional(),
90
- commission_percentage: joi.number().positive().allow(0).default(0).optional(),
91
- return_reason: joi.string().allow(null).optional(),
92
-
93
- updated_by: joi.string().uuid().allow(null).optional(),
94
- created_by: joi.string().uuid().allow(null).optional(),
95
- };
96
- export const createBody = joi
97
- .object()
98
- .keys(createBodyKeys)
99
- .and('reason_for_exemption_id', 'reason_for_exemption')
100
- // .and('persona_id', 'contact_name', 'email', 'phone_number')
101
- // .and(
102
- // 'delivery_country_name',
103
- // 'delivery_country_id',
104
- // 'delivery_street',
105
- // 'delivery_locality',
106
- // 'delivery_postal_code',
107
- // )
108
- // .and(
109
- // 'billing_country_name',
110
- // 'billing_country_id',
111
- // 'billing_street',
112
- // 'billing_locality',
113
- // 'billing_postal_code',
114
- // )
115
- .and('payment_method_id', 'payment_method')
116
- .and('delivery_method_id', 'delivery_method')
117
- .and('delivery_departure_street', 'delivery_departure_postal_code', 'delivery_departure_locality')
118
- .and('vehicle_id', 'vehicle')
119
- .messages(messages);
120
-
121
- const createFromHeaderBodyKeys: IShared.IRouteRequest<ICreateFromHeaderRequest> = {
122
- document_type_id: joi.number().required(),
123
- emission_date: joi.date().optional(),
124
- from_header: joi.array().items(joi.string().uuid().required()).required(),
125
- from_lines: joi.array().items(joi.string().uuid().optional()).required(),
126
- payments: joi.array().items(
127
- joi
128
- .object({
129
- document_header_id: joi.string().uuid().optional(),
130
- date: joi.date().required(),
131
- debit: joi.number().positive().allow(0).required(),
132
- credit: joi.number().allow(0).required(),
133
- payment_method_id: joi.string().uuid().required(),
134
- payment_method: joi.string().required(),
135
- notes: joi.string().allow('', null).required(),
136
- })
137
- .optional(),
138
- ),
139
- delivery_method_id: joi.string().optional(),
140
- delivery_adresses: joi
141
- .object({
142
- delivery_departure_street: joi.string().required(),
143
- delivery_departure_locality: joi.string().required(),
144
- delivery_departure_postal_code: joi.string().trim(true).lowercase().required(),
145
- delivery_street: joi.string().required(),
146
- delivery_locality: joi.string().required(),
147
- delivery_postal_code: joi.string().trim(true).lowercase().required(),
148
- })
149
- .allow(null)
150
- .optional(),
151
- email: joi
152
- .string()
153
- .email({ tlds: { allow: false } })
154
- .allow(null)
155
- .optional(),
156
- maturity_date: joi.object().keys(createFromHeaderMaturityDate).optional(),
157
- return_reason: joi.string().optional(),
158
- provider_ref: joi.string().optional(),
159
- global_discount: joi.number().min(0).max(100).optional(),
160
- current_account: joi.boolean().optional(),
161
- };
162
- export const createFromHeaderBody = joi.object().keys(createFromHeaderBodyKeys).messages(messages);
163
-
164
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {
165
- owner_id: joi.string().uuid().required(),
166
- document_type_id: joi.number().required(),
167
- closed: joi.boolean().optional(),
168
- };
169
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
170
-
171
- const basicSearchQueryKeys: IShared.IRouteRequest<IBasicSearchRequest> = {
172
- search_value: joi.string().allow('', null).optional(),
173
- per_page: joi.number().positive().integer().default(10).allow(null).optional(),
174
- inactive: joi.boolean().default(false).optional(),
175
- current_page: joi.number().positive().integer().allow(null).optional(),
176
- };
177
- export const basicSearchQuery = joi.object().keys(basicSearchQueryKeys).messages(messages);
178
-
179
- const updateBodyKeys: IShared.IRouteRequestWithStamps<IUpdateRequest> = {
180
- external_data: joi.any().optional(),
181
- external_id: joi.string().allow(null).optional(),
182
- external_pdf_link: joi.string().allow(null).optional(),
183
- google_sheet_id: joi.string().allow(null).optional(),
184
- pdf_link: joi.string().allow(null).optional(),
185
- sent: joi.boolean().optional(),
186
-
187
- owner_id: joi.string().uuid().optional(),
188
- owner_number: joi.number().integer().positive().optional(),
189
- owner_name: joi.string().optional(),
190
-
191
- reason_for_exemption_id: joi.string().uuid().allow(null).optional(),
192
- reason_for_exemption: joi.string().allow(null).optional(),
193
-
194
- billing_persona_id: joi.string().uuid().allow(null).optional(),
195
- billing_persona_nif: joi.string().allow(null).optional(),
196
- billing_persona_name: joi.string().allow(null).optional(),
197
- billing_persona_email: joi
198
- .string()
199
- .email({ tlds: { allow: false } })
200
- .allow(null)
201
- .optional(),
202
- billing_persona_telephone: joi.string().allow(null).optional(),
203
- billing_persona_address_street: joi.string().allow(null).optional(),
204
- billing_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
205
- billing_persona_address_locality: joi.string().allow(null).optional(),
206
- billing_persona_address_country_id: joi.string().allow(null).optional(),
207
- billing_persona_address_country_name: joi.string().allow(null).optional(),
208
-
209
- delivery_persona_id: joi.string().uuid().allow(null).optional(),
210
- delivery_persona_name: joi.string().allow(null).optional(),
211
- delivery_persona_email: joi
212
- .string()
213
- .email({ tlds: { allow: false } })
214
- .allow(null)
215
- .optional(),
216
- delivery_persona_telephone: joi.string().allow(null).optional(),
217
- delivery_persona_address_street: joi.string().allow(null).optional(),
218
- delivery_persona_address_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
219
- delivery_persona_address_locality: joi.string().allow(null).optional(),
220
- delivery_persona_address_country_id: joi.string().allow(null).optional(),
221
- delivery_persona_address_country_name: joi.string().allow(null).optional(),
222
-
223
- payment_method_id: joi.string().uuid().allow(null).optional(),
224
- payment_method: joi.string().allow(null).optional(),
225
-
226
- maturity_date_id: joi.string().uuid().allow(null).optional(),
227
- maturity_date: joi.string().allow(null).optional(),
228
- maturity_date_days: joi.number().integer().positive().allow(0).allow(null).optional(),
229
-
230
- delivery_method_id: joi.string().uuid().allow(null).optional(),
231
- delivery_method: joi.string().allow(null).optional(),
232
-
233
- delivery_departure_street: joi.string().allow(null).optional(),
234
- delivery_departure_postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
235
- delivery_departure_locality: joi.string().allow(null).optional(),
236
-
237
- vehicle_id: joi.string().uuid().allow(null).optional(),
238
- vehicle: joi.string().allow(null).optional(),
239
-
240
- commissioner_id: joi.string().uuid().allow(null).optional(),
241
- commission_percentage: joi.number().positive().allow(0).optional(),
242
- commission_paid: joi.boolean().optional(),
243
-
244
- is_archived: joi.boolean().optional(),
245
- is_void: joi.boolean().optional(),
246
- is_force_adjudicated: joi.boolean().optional(),
247
- who_handles: joi.string().allow(null).optional(),
248
- warning: joi
249
- .string()
250
- .optional()
251
- .valid(...Object.values(IWarningType)),
252
- created_by: joi.string().uuid().allow(null).optional(),
253
- };
254
- export const updateBody = joi
255
- .object()
256
- .keys(updateBodyKeys)
257
- .and('reason_for_exemption_id', 'reason_for_exemption')
258
- .and('persona_id', 'contact_name', 'email', 'phone_number')
259
- .and(
260
- 'delivery_country_name',
261
- 'delivery_country_id',
262
- 'delivery_street',
263
- 'delivery_locality',
264
- 'delivery_postal_code',
265
- )
266
- .and(
267
- 'billing_country_name',
268
- 'billing_country_id',
269
- 'billing_street',
270
- 'billing_locality',
271
- 'billing_postal_code',
272
- )
273
- .and('payment_method_id', 'payment_method')
274
- .and('maturity_date_id', 'maturity_date', 'maturity_date_days')
275
- .and('delivery_method_id', 'delivery_method')
276
- .and('delivery_departure_street', 'delivery_departure_postal_code', 'delivery_departure_locality')
277
- .and('vehicle_id', 'vehicle')
278
- .messages(messages);
279
-
280
- const transferClientOwnershipBodyKeys: IShared.IRouteRequest<ITransferOwnershipRequest> = {
281
- document_header_id: joi.string().uuid().required(),
282
- client_id: joi.string().uuid().required(),
283
- };
284
- export const transferClientOwnershipBody = joi
285
- .object()
286
- .keys(transferClientOwnershipBodyKeys)
287
- .messages(messages);
288
-
289
- const updateManyWithPersonaBodyKeys: IShared.IRouteRequest<IUpdateManyWithPersona> = {
290
- id: joi.string().uuid().required(),
291
- name: joi.string().allow(null).optional(),
292
- telephone: joi.string().allow(null).optional(),
293
- email: joi
294
- .string()
295
- .email({ tlds: { allow: false } })
296
- .allow(null)
297
- .optional(),
298
- street: joi.string().allow(null).optional(),
299
- locality: joi.string().allow(null).optional(),
300
- postal_code: joi.string().trim(true).lowercase().allow(null).optional(),
301
- country_id: joi.string().uuid().allow(null).optional(),
302
- country_name: joi.string().allow(null).optional(),
303
- };
304
- export const updateManyWithPersonaBody = joi
305
- .object()
306
- .keys(updateManyWithPersonaBodyKeys)
307
- .messages(messages);
308
-
309
- const sendClientNotificationBodyKeys: IShared.IRouteRequest<ISendClientNotificationRequest> = {
310
- name: joi.string().allow('', null).required(),
311
- email: joi
312
- .string()
313
- .email({ tlds: { allow: false } })
314
- .allow('', null)
315
- .required(),
316
- dontSendEmail: joi.boolean().default(false).optional(),
317
- };
318
- export const sendClientNotificationBody = joi
319
- .object()
320
- .keys(sendClientNotificationBodyKeys)
321
- .messages(messages);
322
-
323
- const findByTypeQueryKeys: IShared.IRouteRequest<IFindByTypeRequest> = {
324
- documentTypeCodes: joi
325
- .array()
326
- .items(
327
- joi
328
- .string()
329
- .valid(...documentTypeCodeTypes)
330
- .required(),
331
- )
332
- .required(),
333
- };
334
- export const findByTypeQuery = joi.object().keys(findByTypeQueryKeys).messages(messages);
335
-
336
- const documentPdfQueryKeys: IShared.IRouteRequest<IDocumentPdfRequest> = {
337
- token: joi.string().optional(),
338
- };
339
-
340
- export const documentPdfQuery = joi.object().keys(documentPdfQueryKeys).messages(messages);
341
-
342
- export const documentLineQuery = joi
343
- .object<IShared.IRouteRequest<IDocumentListRequest>>()
344
- .keys({
345
- closed: joi.boolean().default(false).optional(),
346
- })
347
- .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
- // moloni 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>;
@@ -1,108 +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
- 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);