@nomalism-com/types 0.36.32 → 0.37.1

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 (266) hide show
  1. package/dist/index.cjs +36 -49
  2. package/dist/index.js +36 -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/supply/documentHeader/interfaces.d.ts +28 -2
  7. package/dist/modules/supply/documentSet/interface.d.ts +2 -6
  8. package/dist/modules/supply/documentType/interfaces.d.ts +2 -0
  9. package/dist/modules/user/country/route.schema.d.ts +0 -7
  10. package/dist/modules/user/paymentMethods/interfaces.d.ts +18 -0
  11. package/dist/modules/view/errorLog/interfaces.d.ts +12 -3
  12. package/dist/shared/entities/print.d.ts +1 -0
  13. package/dist/shared/entities/stock.d.ts +6 -7
  14. package/dist/shared/interface.d.ts +2 -10
  15. package/package.json +16 -20
  16. package/.editorconfig +0 -9
  17. package/.prettierrc +0 -7
  18. package/eslint.config.mjs +0 -39
  19. package/package-lock.json +0 -4327
  20. package/src/index.ts +0 -3
  21. package/src/main.ts +0 -693
  22. package/src/modules/document/billOfLading/interfaces.ts +0 -31
  23. package/src/modules/document/billOfLading/route.schema.ts +0 -32
  24. package/src/modules/document/inventario/interface.ts +0 -19
  25. package/src/modules/document/inventario/route.schema.ts +0 -16
  26. package/src/modules/document/materialEntrance/interfaces.ts +0 -207
  27. package/src/modules/document/materialEntrance/route.schema.ts +0 -53
  28. package/src/modules/document/order/interfaces.ts +0 -172
  29. package/src/modules/document/order/route.schema.ts +0 -61
  30. package/src/modules/document/productionOrder/interfaces.ts +0 -12
  31. package/src/modules/document/productionOrder/route.schema.ts +0 -13
  32. package/src/modules/document/proforma/interfaces.ts +0 -15
  33. package/src/modules/document/proforma/route.schema.ts +0 -14
  34. package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
  35. package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
  36. package/src/modules/document/propostaSheets/interface.ts +0 -113
  37. package/src/modules/document/propostaSheets/route.schema.ts +0 -45
  38. package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
  39. package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
  40. package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
  41. package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
  42. package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
  43. package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
  44. package/src/modules/document/purchase/interfaces.ts +0 -112
  45. package/src/modules/document/purchase/route.schema.ts +0 -51
  46. package/src/modules/document/quebra/interfaces.ts +0 -46
  47. package/src/modules/document/quebra/route.schema.ts +0 -25
  48. package/src/modules/document/returnToProvider/interface.ts +0 -59
  49. package/src/modules/document/returnToProvider/route.schema.ts +0 -27
  50. package/src/modules/document/transformado/interfaces.ts +0 -31
  51. package/src/modules/document/transformado/route.schema.ts +0 -26
  52. package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
  53. package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
  54. package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
  55. package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
  56. package/src/modules/integration/emailLog/interfaces.ts +0 -111
  57. package/src/modules/integration/emailLog/route.schema.ts +0 -18
  58. package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
  59. package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
  60. package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
  61. package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
  62. package/src/modules/integration/emailVerification/interfaces.ts +0 -30
  63. package/src/modules/integration/emailVerification/route.schema.ts +0 -34
  64. package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
  65. package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
  66. package/src/modules/integration/googleSheets/interfaces.ts +0 -98
  67. package/src/modules/integration/googleSheets/route.schema.ts +0 -52
  68. package/src/modules/integration/observation/interfaces.ts +0 -61
  69. package/src/modules/integration/observation/route.schema.ts +0 -40
  70. package/src/modules/integration/observationType/interfaces.ts +0 -37
  71. package/src/modules/integration/observationType/route.schema.ts +0 -17
  72. package/src/modules/integration/projectInfo/interfaces.ts +0 -26
  73. package/src/modules/integration/projectInfo/route.schema.ts +0 -18
  74. package/src/modules/integration/settings/interfaces.ts +0 -31
  75. package/src/modules/integration/settings/route.schema.ts +0 -24
  76. package/src/modules/print/npc/interfaces.ts +0 -33
  77. package/src/modules/print/npc/route.schema.ts +0 -21
  78. package/src/modules/print/printer/interfaces.ts +0 -47
  79. package/src/modules/print/printer/route.schema.ts +0 -60
  80. package/src/modules/print/schedulePrintJob/interfaces.ts +0 -47
  81. package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
  82. package/src/modules/stock/chat/interfaces.ts +0 -82
  83. package/src/modules/stock/chat/route.schema.ts +0 -28
  84. package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
  85. package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
  86. package/src/modules/stock/dashboard/interface.ts +0 -25
  87. package/src/modules/stock/dashboard/route.schema.ts +0 -11
  88. package/src/modules/stock/file/interface.ts +0 -37
  89. package/src/modules/stock/file/route.schema.ts +0 -37
  90. package/src/modules/stock/location/interface.ts +0 -77
  91. package/src/modules/stock/location/route.schema.ts +0 -57
  92. package/src/modules/stock/prison/interface.ts +0 -70
  93. package/src/modules/stock/prison/route.schema.ts +0 -50
  94. package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
  95. package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
  96. package/src/modules/stock/productImage/interface.ts +0 -69
  97. package/src/modules/stock/productImage/route.schema.ts +0 -52
  98. package/src/modules/stock/promotion/interface.ts +0 -61
  99. package/src/modules/stock/promotion/route.schema.ts +0 -39
  100. package/src/modules/stock/promotionAssoc/interface.ts +0 -62
  101. package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
  102. package/src/modules/stock/queryList/interfaces.ts +0 -56
  103. package/src/modules/stock/queryList/route.schema.ts +0 -37
  104. package/src/modules/stock/queryParameter/interfaces.ts +0 -72
  105. package/src/modules/stock/queryParameter/route.schema.ts +0 -36
  106. package/src/modules/stock/recurrentTasks/interface.ts +0 -12
  107. package/src/modules/stock/returnReason/interfaces.ts +0 -23
  108. package/src/modules/stock/returnReason/route.schema.ts +0 -14
  109. package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
  110. package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
  111. package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
  112. package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
  113. package/src/modules/stock/sideMenu/interface.ts +0 -48
  114. package/src/modules/stock/sideMenu/route.schema.ts +0 -20
  115. package/src/modules/stock/stockMovement/interface.ts +0 -78
  116. package/src/modules/stock/stockMovement/route.schema.ts +0 -34
  117. package/src/modules/stock/tag/interface.ts +0 -36
  118. package/src/modules/stock/tag/route.schema.ts +0 -30
  119. package/src/modules/stock/task/interface.ts +0 -126
  120. package/src/modules/stock/task/route.schema.ts +0 -48
  121. package/src/modules/stock/taskMessage/interface.ts +0 -18
  122. package/src/modules/stock/taskMessage/route.schema.ts +0 -19
  123. package/src/modules/stock/taskRead/interface.ts +0 -17
  124. package/src/modules/stock/taskRead/route.schema.ts +0 -18
  125. package/src/modules/stock/typeOfLocation/interface.ts +0 -51
  126. package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
  127. package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
  128. package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
  129. package/src/modules/stock/vatTax/interface.ts +0 -53
  130. package/src/modules/stock/vatTax/route.schema.ts +0 -31
  131. package/src/modules/stock/vatTaxZone/interface.ts +0 -61
  132. package/src/modules/stock/vatTaxZone/route.schema.ts +0 -40
  133. package/src/modules/stock/vatValidation/interfaces.ts +0 -10
  134. package/src/modules/stock/vatValidation/route.schema.ts +0 -8
  135. package/src/modules/stock/workflow/interfaces.ts +0 -64
  136. package/src/modules/stock/workflow/route.schema.ts +0 -28
  137. package/src/modules/supply/batch/interface.ts +0 -0
  138. package/src/modules/supply/clientCurrentAccount/interfaces.ts +0 -152
  139. package/src/modules/supply/clientCurrentAccount/route.schema.ts +0 -66
  140. package/src/modules/supply/counter/interfaces.ts +0 -34
  141. package/src/modules/supply/counter/route.schema.ts +0 -26
  142. package/src/modules/supply/documentHeader/interfaces.ts +0 -443
  143. package/src/modules/supply/documentHeader/route.schema.ts +0 -347
  144. package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
  145. package/src/modules/supply/documentLine/interfaces.ts +0 -210
  146. package/src/modules/supply/documentLine/route.schema.ts +0 -108
  147. package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
  148. package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
  149. package/src/modules/supply/documentLineMT/interface.ts +0 -27
  150. package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
  151. package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
  152. package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
  153. package/src/modules/supply/documentLineRM/interface.ts +0 -34
  154. package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
  155. package/src/modules/supply/documentSet/interface.ts +0 -35
  156. package/src/modules/supply/documentSet/route.schema.ts +0 -24
  157. package/src/modules/supply/documentType/interfaces.ts +0 -212
  158. package/src/modules/supply/documentType/route.schema.ts +0 -73
  159. package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
  160. package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
  161. package/src/modules/supply/externalDocumentType/interface.ts +0 -14
  162. package/src/modules/supply/orderManagement/interface.ts +0 -49
  163. package/src/modules/supply/orderManagement/route.schema.ts +0 -0
  164. package/src/modules/supply/payment/interface.ts +0 -229
  165. package/src/modules/supply/payment/route.schema.ts +0 -122
  166. package/src/modules/supply/preSale/interface.ts +0 -92
  167. package/src/modules/supply/preSale/route.schema.ts +0 -75
  168. package/src/modules/supply/preSaleProduct/interface.ts +0 -16
  169. package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
  170. package/src/modules/supply/providerCurrentAccount/interfaces.ts +0 -19
  171. package/src/modules/supply/providerCurrentAccount/route.schema.ts +0 -14
  172. package/src/modules/supply/schedule/interface.ts +0 -47
  173. package/src/modules/supply/schedule/route.schema.ts +0 -14
  174. package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
  175. package/src/modules/tickets/channel/interfaces.ts +0 -35
  176. package/src/modules/tickets/channel/route.schema.ts +0 -24
  177. package/src/modules/tickets/clt/interfaces.ts +0 -26
  178. package/src/modules/tickets/clt/route.schema.ts +0 -24
  179. package/src/modules/tickets/language/interfaces.ts +0 -25
  180. package/src/modules/tickets/language/route.schema.ts +0 -28
  181. package/src/modules/tickets/tickets/interfaces.ts +0 -80
  182. package/src/modules/tickets/tickets/route.schema.ts +0 -19
  183. package/src/modules/user/bankData/interface.ts +0 -64
  184. package/src/modules/user/bankData/route.schema.ts +0 -40
  185. package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
  186. package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
  187. package/src/modules/user/clientType/interface.ts +0 -47
  188. package/src/modules/user/clientType/route.schema.ts +0 -31
  189. package/src/modules/user/clients/interface.ts +0 -138
  190. package/src/modules/user/clients/route.schema.ts +0 -87
  191. package/src/modules/user/commissioner/interface.ts +0 -110
  192. package/src/modules/user/commissioner/route.schema.ts +0 -65
  193. package/src/modules/user/country/interface.ts +0 -54
  194. package/src/modules/user/country/route.schema.ts +0 -97
  195. package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
  196. package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
  197. package/src/modules/user/favorites/interfaces.ts +0 -28
  198. package/src/modules/user/favorites/route.schema.ts +0 -19
  199. package/src/modules/user/groupPermissions/interface.ts +0 -32
  200. package/src/modules/user/groupPermissions/route.schema.ts +0 -11
  201. package/src/modules/user/language/interface.ts +0 -47
  202. package/src/modules/user/language/route.schema.ts +0 -28
  203. package/src/modules/user/maturityDates/interfaces.ts +0 -31
  204. package/src/modules/user/maturityDates/route.schema.ts +0 -18
  205. package/src/modules/user/password/interfaces.ts +0 -21
  206. package/src/modules/user/password/route.schema.ts +0 -22
  207. package/src/modules/user/paymentMethods/interfaces.ts +0 -37
  208. package/src/modules/user/paymentMethods/route.schema.ts +0 -23
  209. package/src/modules/user/permissions/interface.ts +0 -34
  210. package/src/modules/user/permissions/route.schema.ts +0 -11
  211. package/src/modules/user/persona/interface.ts +0 -157
  212. package/src/modules/user/persona/route.schema.ts +0 -101
  213. package/src/modules/user/providerType/interface.ts +0 -47
  214. package/src/modules/user/providerType/route.schema.ts +0 -28
  215. package/src/modules/user/providers/interface.ts +0 -130
  216. package/src/modules/user/providers/route.schema.ts +0 -85
  217. package/src/modules/user/purchaseConditions/interface.ts +0 -58
  218. package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
  219. package/src/modules/user/reasonForExemption/interface.ts +0 -53
  220. package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
  221. package/src/modules/user/refreshToken/interface.ts +0 -19
  222. package/src/modules/user/refreshToken/route.schema.ts +0 -10
  223. package/src/modules/user/segmentsArea/interface.ts +0 -49
  224. package/src/modules/user/segmentsArea/route.schema.ts +0 -30
  225. package/src/modules/user/sessions/interface.ts +0 -24
  226. package/src/modules/user/sessions/route.schema.ts +0 -10
  227. package/src/modules/user/shippings/interface.ts +0 -57
  228. package/src/modules/user/shippings/route.schema.ts +0 -35
  229. package/src/modules/user/storeOperator/interface.ts +0 -42
  230. package/src/modules/user/storeOperator/route.schema.ts +0 -45
  231. package/src/modules/user/swift/interface.ts +0 -55
  232. package/src/modules/user/swift/route.schema.ts +0 -36
  233. package/src/modules/user/tenant/interface.ts +0 -59
  234. package/src/modules/user/tenant/route.schema.ts +0 -46
  235. package/src/modules/user/theme/interfaces.ts +0 -21
  236. package/src/modules/user/theme/route.schema.ts +0 -19
  237. package/src/modules/user/userPermissions/interface.ts +0 -28
  238. package/src/modules/user/userPermissions/route.schema.ts +0 -12
  239. package/src/modules/user/userPositions/interface.ts +0 -47
  240. package/src/modules/user/userPositions/route.schema.ts +0 -29
  241. package/src/modules/user/userTokens/interface.ts +0 -41
  242. package/src/modules/user/userTokens/route.schema.ts +0 -17
  243. package/src/modules/user/users/interface.ts +0 -177
  244. package/src/modules/user/users/route.schema.ts +0 -58
  245. package/src/modules/user/vehicles/interfaces.ts +0 -31
  246. package/src/modules/user/vehicles/route.schema.ts +0 -17
  247. package/src/modules/user/zipCode/interfaces.ts +0 -27
  248. package/src/modules/user/zipCode/route.schema.ts +0 -26
  249. package/src/modules/view/adminPanel/interfaces.ts +0 -180
  250. package/src/modules/view/errorLog/interfaces.ts +0 -17
  251. package/src/modules/view/errorLog/route.schema.ts +0 -25
  252. package/src/shared/entities/documentManagement.ts +0 -16
  253. package/src/shared/entities/integration.ts +0 -136
  254. package/src/shared/entities/print.ts +0 -48
  255. package/src/shared/entities/stock.ts +0 -1336
  256. package/src/shared/entities/tickets.ts +0 -82
  257. package/src/shared/entities/user.ts +0 -538
  258. package/src/shared/errors/documentManagementErrors.ts +0 -13
  259. package/src/shared/errors/integrationErrors.ts +0 -44
  260. package/src/shared/errors/stockErrors.ts +0 -267
  261. package/src/shared/errors/userErrors.ts +0 -108
  262. package/src/shared/errors/viewErrors.ts +0 -6
  263. package/src/shared/interface.ts +0 -553
  264. package/src/shared/messages.ts +0 -141
  265. package/tsconfig.json +0 -20
  266. package/tsup.config.ts +0 -10
@@ -1,101 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import {
5
- IBasicSearchRequest,
6
- ICreateRequest,
7
- IDeletePersonaRequest,
8
- IFindByEmailRequest,
9
- IFindRequest,
10
- IUpdateRequest,
11
- IFindClientOrProviderRequest,
12
- } from './interface';
13
-
14
- const emailSchema = joi
15
- .string()
16
- .trim(true)
17
- .lowercase()
18
- .email({ tlds: { allow: false } })
19
- .allow(null, '');
20
-
21
- // create body validation
22
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
23
- name: joi.string().allow(null, '').optional(),
24
- nif: joi.string().allow(null, '').optional(),
25
- street: joi.string().allow(null, '').optional(),
26
- locality: joi.string().allow(null, '').optional(),
27
- postal_code: joi.string().trim(true).lowercase().allow(null, '').optional(),
28
- country_id: joi.string().uuid().allow(null, '').optional(),
29
- telephone: joi.string().allow(null, '').optional(),
30
- email: emailSchema.optional(),
31
- observations: joi.string().allow(null, '').optional(),
32
- provider_id: joi.string().uuid().allow(null, ''),
33
- client_id: joi.string().uuid().allow(null, ''),
34
- commissioner_id: joi.string().uuid().allow(null, ''),
35
- store_operator_id: joi.string().uuid().allow(null, ''),
36
- reason_for_exemption_id: joi.string().uuid().allow(null, '').optional(),
37
- main: joi.boolean().default(false).optional(),
38
- contact: joi.boolean().default(false).optional(),
39
- };
40
-
41
- export const createBody = joi
42
- .object()
43
- .keys(createBodyKeys)
44
- .xor('provider_id', 'client_id', 'commissioner_id')
45
- .messages(messages);
46
-
47
- // update body validation
48
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
49
- name: joi.string().allow(null, '').optional(),
50
- nif: joi.string().allow(null, '').optional(),
51
- street: joi.string().allow(null, '').optional(),
52
- locality: joi.string().allow(null, '').optional(),
53
- postal_code: joi.string().trim(true).lowercase().allow(null, '').optional(),
54
- country_id: joi.string().uuid().allow(null, '').optional(),
55
- telephone: joi.string().allow(null, '').optional(),
56
- email: emailSchema.optional(),
57
- observations: joi.string().allow(null, '').optional(),
58
- reason_for_exemption_id: joi.string().uuid().allow(null, '').optional(),
59
- main: joi.boolean().optional(),
60
- contact: joi.boolean().optional(),
61
- };
62
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
63
-
64
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {
65
- search_value: joi.string().allow('', null).optional(),
66
- };
67
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
68
-
69
- const getBasicSearchQueryKeys: IShared.IRouteRequest<IBasicSearchRequest> = {
70
- per_page: joi.number().integer().positive().default(10).optional(),
71
- current_page: joi.number().integer().positive().default(1).optional(),
72
- inactive: joi.boolean().default(false).optional(),
73
- search_value: joi.string().allow('', null).optional(),
74
- types: joi.string().allow('', null).optional(),
75
- };
76
- export const getBasicSearchParamsValidate = joi
77
- .object()
78
- .keys(getBasicSearchQueryKeys)
79
- .messages(messages);
80
-
81
- const deleteQueryKeys: IShared.IRouteRequest<IDeletePersonaRequest> = {
82
- id: joi.string().uuid().required(),
83
- new_main_persona_id: joi.string().uuid().optional(),
84
- };
85
- export const deleteQueryValidate = joi.object().keys(deleteQueryKeys).messages(messages);
86
-
87
- const findByEmailQueryKeys: IShared.IRouteRequest<IFindByEmailRequest> = {
88
- email: emailSchema,
89
- };
90
- export const FindByEmailQueryValidate = joi.object().keys(findByEmailQueryKeys).messages(messages);
91
-
92
- const findClientOrProviderQueryKeys: IShared.IRouteRequest<IFindClientOrProviderRequest> = {
93
- nif: joi.string().allow('', null).optional(),
94
- email: emailSchema.optional(),
95
- telephone: joi.string().allow('', null).optional(),
96
- user_type: joi.string().valid('client', 'provider').optional(),
97
- };
98
- export const FindClientOrProviderQueryValidate = joi
99
- .object()
100
- .keys(findClientOrProviderQueryKeys)
101
- .messages(messages);
@@ -1,47 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { ProviderType } from '../../../shared/entities/user';
3
-
4
- export type Entity = ProviderType;
5
- export const Route = 'provider_type';
6
- export const UpperName = 'ProviderType';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- type IFindDetailedResponse = Entity;
10
-
11
- // omit any unnecessary fields
12
- export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
13
-
14
- export type IFindRequest = Record<string, unknown>;
15
-
16
- // omit any unnecessary fields
17
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
18
-
19
- export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
20
-
21
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
22
- Omit<IFindDetailedResponse, ''>
23
- >;
24
-
25
- export interface ICreateRequest {
26
- // create fields
27
- name: string;
28
- }
29
-
30
- export interface IUpdateRequest {
31
- // updatable fields
32
- name?: string;
33
- }
34
-
35
- export interface IRepository {
36
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
37
-
38
- findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
39
- find(selector: IFindRequest): Promise<IFindResponse[]>;
40
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
41
-
42
- create(data: ICreateRequest): Promise<Entity>;
43
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
44
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
45
- }
46
-
47
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,28 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { IFindRequest, IFindPaginatedRequest, ICreateRequest, IUpdateRequest } from './interface';
5
-
6
- // create body validation
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- name: joi.string().required(),
9
- };
10
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
11
-
12
- // update body validation
13
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
14
- name: joi.string().required(),
15
- };
16
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
17
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
18
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
19
-
20
- // find with pagination query validation
21
- const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
22
- per_page: joi.number().integer().positive().default(10).optional(),
23
- current_page: joi.number().integer().positive().default(1).optional(),
24
- };
25
- export const findWithPaginationQuery = joi
26
- .object()
27
- .keys(findWithPaginationQueryKeys)
28
- .messages(messages);
@@ -1,130 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import {
3
- Providers,
4
- Users,
5
- Country,
6
- ReasonForExemption,
7
- Language,
8
- ProviderType,
9
- PaymentMethods,
10
- MaturityDates,
11
- DeliveryMethods,
12
- Vehicles,
13
- Persona,
14
- } from '../../../shared/entities/user';
15
- import type { IChatType } from '../../stock/chat/interfaces';
16
-
17
- export type Entity = Providers;
18
- export const Route = 'provider';
19
- export const UpperName = 'Providers';
20
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
21
-
22
- interface IMainPersona extends Persona {
23
- country: Country | null;
24
- reason_for_exemption: ReasonForExemption | null;
25
- }
26
-
27
- interface IFindDetailedResponse extends Entity {
28
- user: Users;
29
- main_persona: IMainPersona;
30
- country: Country | null;
31
- language: Language | null;
32
- support_language: Language | null;
33
- provider_type: ProviderType | null;
34
- default_payment_method: PaymentMethods | null;
35
- default_maturity_date: MaturityDates | null;
36
- default_delivery_method: DeliveryMethods | null;
37
- default_vehicle: Vehicles | null;
38
- }
39
-
40
- // omit any unnecessary fields
41
- export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
42
-
43
- // omit any unnecessary fields
44
- export type IFindByOwnerIdResponse = Omit<
45
- IFindDetailedResponse,
46
- | 'user'
47
- | 'main_persona'
48
- | 'country'
49
- | 'language'
50
- | 'support_language'
51
- | 'provider_type'
52
- | 'default_payment_method'
53
- | 'default_maturity_date'
54
- | 'default_delivery_method'
55
- | 'default_vehicle'
56
- >;
57
-
58
- export interface IFindByQueryRequest {
59
- number?: number[];
60
- id?: string[];
61
- }
62
-
63
- export interface IFindRequest {}
64
-
65
- // omit any unnecessary fields
66
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
67
-
68
- export type IFindPaginatedRequest = IShared.IPaginationRequest;
69
-
70
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
71
- Omit<IFindDetailedResponse, ''>
72
- >;
73
-
74
- export type ICreateMainPersona = Pick<Persona, 'nif' | 'name' | 'email' | 'telephone'>;
75
-
76
- export interface ICreateRequest {
77
- user_id?: string;
78
- manufacturer?: boolean;
79
- inactive?: boolean;
80
-
81
- default_discount?: number;
82
- exemption_reason_id?: string | null;
83
-
84
- main_persona: ICreateMainPersona;
85
- provider_type_id?: string | null;
86
- country_id?: string | null;
87
- language_id?: string | null;
88
- support_language_id?: string | null;
89
- default_payment_method_id?: string | null;
90
- default_maturity_date_id?: string | null;
91
- default_delivery_method_id?: string | null;
92
- default_vehicle_id?: string | null;
93
- personas?: ICreateMainPersona[];
94
- }
95
-
96
- export interface IUpdateRequest {
97
- chat_type?: IChatType;
98
- manufacturer?: boolean;
99
- inactive?: boolean;
100
- default_discount?: number;
101
- main_persona_id?: string;
102
- contact_persona_id?: string;
103
- country_id?: string;
104
- language_id?: string;
105
- support_language_id?: string | null;
106
- provider_type_id?: string;
107
- default_payment_method_id?: string;
108
- default_maturity_date_id?: string;
109
- default_delivery_method_id?: string;
110
- default_vehicle_id?: string | null;
111
- }
112
-
113
- export interface IRepository {
114
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
115
-
116
- findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
117
- findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
118
- findMinifiedManufacturer(
119
- params?: IShared.IFindMinifiedRequest,
120
- ): Promise<IShared.IFindMinifiedResponse[]>;
121
- findByQuery(params: IFindByQueryRequest): Promise<IFindResponse[]>;
122
- find(selector: IFindRequest): Promise<IFindResponse[]>;
123
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
124
-
125
- create(data: ICreateRequest): Promise<IFindResponse>;
126
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindResponse | null>;
127
- deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindResponse | null>;
128
- }
129
-
130
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,85 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import {
5
- IFindRequest,
6
- IFindPaginatedRequest,
7
- ICreateRequest,
8
- IUpdateRequest,
9
- ICreateMainPersona,
10
- } from './interface';
11
- import { chatTypes } from '../../stock/chat/interfaces';
12
-
13
- const createMainPersonaKeys: IShared.IRouteRequest<ICreateMainPersona> = {
14
- name: joi.string().optional(),
15
- nif: joi.string().allow(null).optional(),
16
- email: joi
17
- .string()
18
- .email({ tlds: { allow: false } })
19
- .allow(null)
20
- .optional(),
21
- telephone: joi.string().allow(null).optional(),
22
- };
23
-
24
- // create body validation
25
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
26
- user_id: joi.string().uuid().optional(),
27
- manufacturer: joi.boolean().default(false).optional(),
28
- inactive: joi.boolean().default(false).optional(),
29
-
30
- default_discount: joi.number().positive().allow(0).default(0).max(100).optional(),
31
- exemption_reason_id: joi.string().uuid().allow(null).optional(),
32
-
33
- main_persona: joi.object().keys(createMainPersonaKeys).required(),
34
- provider_type_id: joi.string().uuid().allow(null).optional(),
35
- country_id: joi.string().uuid().allow(null).optional(),
36
- language_id: joi.string().uuid().allow(null).optional(),
37
- support_language_id: joi.string().uuid().allow(null).optional(),
38
- default_payment_method_id: joi.string().uuid().allow(null).optional(),
39
- default_maturity_date_id: joi.string().uuid().allow(null).optional(),
40
- default_delivery_method_id: joi.string().uuid().allow(null).optional(),
41
- default_vehicle_id: joi.string().uuid().allow(null).optional(),
42
- personas: joi.array().items(joi.object().keys(createMainPersonaKeys)).optional(),
43
- };
44
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
45
-
46
- // update body validation
47
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
48
- chat_type: joi
49
- .string()
50
- .valid(...chatTypes)
51
- .optional(),
52
- manufacturer: joi.boolean().optional(),
53
- inactive: joi.boolean().optional(),
54
-
55
- default_discount: joi.number().positive().allow(0).max(100).optional(),
56
-
57
- provider_type_id: joi.string().uuid().allow(null).optional(),
58
- country_id: joi.string().uuid().allow(null).optional(),
59
- language_id: joi.string().uuid().allow(null).optional(),
60
- support_language_id: joi.string().uuid().allow(null).optional(),
61
- main_persona_id: joi.string().uuid().optional(),
62
- contact_persona_id: joi.string().uuid().optional(),
63
- default_payment_method_id: joi.string().uuid().allow(null).optional(),
64
- default_maturity_date_id: joi.string().uuid().allow(null).optional(),
65
- default_delivery_method_id: joi.string().uuid().allow(null).optional(),
66
- default_vehicle_id: joi.string().uuid().allow(null).optional(),
67
- };
68
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
69
-
70
- // find query validation
71
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {
72
- number: joi.array().items(joi.number().positive().allow(0).required()).optional(),
73
- id: joi.array().items(joi.string().uuid().required()).optional(),
74
- };
75
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
76
-
77
- // find with pagination query validation
78
- const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
79
- per_page: joi.number().integer().positive().default(10).optional(),
80
- current_page: joi.number().integer().positive().default(1).optional(),
81
- };
82
- export const findWithPaginationQuery = joi
83
- .object()
84
- .keys(findWithPaginationQueryKeys)
85
- .messages(messages);
@@ -1,58 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { PurchaseConditions } from '../../../shared/entities/user';
3
-
4
- export type Entity = PurchaseConditions;
5
- export const Route = 'purchase_conditions';
6
- export const UpperName = 'PurchaseConditions';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- interface IFindDetailedResponse extends Entity {}
10
-
11
- // omit any unnecessary fields
12
- export type IFindByIdResponse = Omit<IFindDetailedResponse, 'product_category'>;
13
-
14
- // omit any unnecessary fields
15
- export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
16
-
17
- export type IFindRequest = Record<string, unknown>;
18
-
19
- // omit any unnecessary fields
20
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
21
-
22
- export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
23
-
24
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
25
- Omit<IFindDetailedResponse, ''>
26
- >;
27
-
28
- export interface ICreateRequest {
29
- // create fields
30
- provider_id: string;
31
- discount: string;
32
- deadline: string;
33
- minimum_quantity: string;
34
- }
35
-
36
- export interface IUpdateRequest {
37
- // updatable fields
38
- discount?: string;
39
- deadline?: string;
40
- minimum_quantity?: string;
41
- }
42
-
43
- export interface IRepository {
44
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
45
-
46
- findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
47
- find(selector: IFindRequest): Promise<IFindResponse[]>;
48
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
49
-
50
- create(data: ICreateRequest): Promise<Entity>;
51
- update(
52
- selector: IShared.IFindByIdRequest,
53
- data: IUpdateRequest,
54
- ): Promise<IFindByOwnerIdResponse | null>;
55
- deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindByOwnerIdResponse | null>;
56
- }
57
-
58
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,33 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { IFindRequest, IFindPaginatedRequest, ICreateRequest, IUpdateRequest } from './interface';
5
-
6
- // create body validation
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- provider_id: joi.string().uuid().required(),
9
- deadline: joi.string().required(),
10
- discount: joi.string().required(),
11
- minimum_quantity: joi.string().required(),
12
- };
13
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
14
-
15
- // update body validation
16
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
17
- deadline: joi.string().optional(),
18
- discount: joi.string().optional(),
19
- minimum_quantity: joi.string().optional(),
20
- };
21
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
22
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
23
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
24
-
25
- // find with pagination query validation
26
- const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
27
- per_page: joi.number().integer().positive().default(10).optional(),
28
- current_page: joi.number().integer().positive().default(1).optional(),
29
- };
30
- export const findWithPaginationQuery = joi
31
- .object()
32
- .keys(findWithPaginationQueryKeys)
33
- .messages(messages);
@@ -1,53 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { ReasonForExemption } from '../../../shared/entities/user';
3
-
4
- export type Entity = ReasonForExemption;
5
- export const Route = 'reason_for_exemption';
6
- export const UpperName = 'ReasonForExemption';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- type IFindDetailedResponse = Entity;
10
-
11
- // omit any unnecessary fields
12
- export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
13
-
14
- export type IFindRequest = Record<string, unknown>;
15
-
16
- // omit any unnecessary fields
17
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
18
-
19
- export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
20
-
21
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
22
- Omit<IFindDetailedResponse, ''>
23
- >;
24
-
25
- export interface ICreateRequest {
26
- // create fields
27
- name: string;
28
- description: string;
29
- saft_code: string;
30
- external_id: string;
31
- }
32
-
33
- export interface IUpdateRequest {
34
- // updatable fields
35
- name?: string;
36
- description?: string;
37
- saft_code?: string;
38
- external_id?: string;
39
- }
40
-
41
- export interface IRepository {
42
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
43
-
44
- findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
45
- find(selector: IFindRequest): Promise<IFindResponse[]>;
46
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
47
-
48
- create(data: ICreateRequest): Promise<Entity>;
49
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
50
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
51
- }
52
-
53
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,34 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { IFindRequest, IFindPaginatedRequest, ICreateRequest, IUpdateRequest } from './interface';
5
-
6
- // create body validation
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- name: joi.string().required(),
9
- description: joi.string().required(),
10
- saft_code: joi.string().required(),
11
- external_id: joi.string().required(),
12
- };
13
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
14
-
15
- // update body validation
16
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
17
- name: joi.string().optional(),
18
- description: joi.string().optional(),
19
- saft_code: joi.string().optional(),
20
- external_id: joi.string().optional(),
21
- };
22
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
23
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
24
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
25
-
26
- // find with pagination query validation
27
- const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
28
- per_page: joi.number().integer().positive().default(10).optional(),
29
- current_page: joi.number().integer().positive().default(1).optional(),
30
- };
31
- export const findWithPaginationQuery = joi
32
- .object()
33
- .keys(findWithPaginationQueryKeys)
34
- .messages(messages);
@@ -1,19 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
-
3
- export interface ICreateRequest {
4
- token: string;
5
- ip?: string;
6
- }
7
-
8
- export interface ICreateResponse {
9
- access_token: string;
10
- refresh_token: string;
11
- expiresInToken: number;
12
- expiresInRefreshToken: number;
13
- }
14
-
15
- export interface IRepository {
16
- create(data: ICreateRequest): Promise<ICreateResponse>;
17
- }
18
-
19
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,10 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { ICreateRequest } from './interface';
5
-
6
- const refreshTokenBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
7
- token: joi.string(),
8
- ip: joi.string(),
9
- };
10
- export const refreshTokenBody = joi.object().keys(refreshTokenBodyKeys).messages(messages);
@@ -1,49 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { SegmentsArea } from '../../../shared/entities/user';
3
-
4
- export type Entity = SegmentsArea;
5
- export const Route = 'segments_area';
6
- export const UpperName = 'SegmentsArea';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- type IFindDetailedResponse = Entity;
10
-
11
- // omit any unnecessary fields
12
- export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
13
-
14
- export type IFindRequest = Record<string, unknown>;
15
-
16
- // omit any unnecessary fields
17
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
18
-
19
- export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
20
-
21
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
22
- Omit<IFindDetailedResponse, ''>
23
- >;
24
-
25
- export interface ICreateRequest {
26
- // create fields
27
- type: string;
28
- name: string;
29
- }
30
-
31
- export interface IUpdateRequest {
32
- // updatable fields
33
- type?: string;
34
- name?: string;
35
- }
36
-
37
- export interface IRepository {
38
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
39
-
40
- findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
41
- find(selector: IFindRequest): Promise<IFindResponse[]>;
42
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
43
-
44
- create(data: ICreateRequest): Promise<Entity>;
45
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
46
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
47
- }
48
-
49
- export type IController = IShared.IEntityWithUserToken<IRepository>;