@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,548 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from './messages';
3
- import type {
4
- ILastTicketCalledTodayByChannel,
5
- IRemainingTodayTickets,
6
- } from '../modules/tickets/tickets/interfaces';
7
- import type { IGetUserData } from '../modules/integration/googleSheets/interfaces';
8
- import type { IDocumentTypeUserType } from '../modules/supply/documentType/interfaces';
9
- import type { IScheduleType } from '../modules/supply/schedule/interface';
10
- import type {
11
- IWarningType,
12
- IProjectInfo as KafkaProjectInfo,
13
- } from '../modules/supply/documentHeader/interfaces';
14
- import type {
15
- IChat,
16
- IEmail,
17
- IEncomenda,
18
- IMultimedia,
19
- IMultimediaSummary,
20
- IPostgresBackup,
21
- IPrint,
22
- IProjectInfo,
23
- IProposta,
24
- IServiceLogs,
25
- IServiceStatus,
26
- IStock,
27
- ITask,
28
- } from '../modules/view/adminPanel/interfaces';
29
- import type * as ErrorLog from '../modules/view/errorLog/interfaces';
30
- import type { File } from './entities/stock';
31
-
32
- export { messages };
33
-
34
- // timestamps
35
- type CreatedAt = 'created_at';
36
-
37
- type UpdatedAt = 'updated_at';
38
-
39
- export interface WithCreatedAt {
40
- created_at: Date;
41
- }
42
-
43
- export interface WithUpdatedAt {
44
- updated_at: Date;
45
- }
46
-
47
- export interface WithOriginId {
48
- origin_id: string;
49
- }
50
-
51
- export type WithTimestamps = WithCreatedAt & WithUpdatedAt;
52
-
53
- export type WithTimestampsOriginID = (WithCreatedAt & WithUpdatedAt) | WithOriginId;
54
-
55
- export type WithoutTimestamps<T> = Omit<T, CreatedAt | UpdatedAt>;
56
-
57
- // userstamps
58
- type CreatedBy = 'created_by';
59
-
60
- type UpdatedBy = 'updated_by';
61
-
62
- export interface WithCreatedBy {
63
- created_by?: string | null;
64
- }
65
-
66
- export interface WithUpdatedBy {
67
- updated_by?: string | null;
68
- }
69
-
70
- export type WithUserstamps = WithCreatedBy & WithUpdatedBy;
71
-
72
- export type WithoutUserstamps<T> = Omit<T, CreatedBy | UpdatedBy>;
73
-
74
- export interface IUserToken {
75
- id: string;
76
- location_id: string;
77
- }
78
-
79
- export type IEntityWithUserToken<T> = {
80
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
- [K in keyof T]: T[K] extends (...params: infer U) => any
82
- ? (...params: [...U, IUserToken]) => ReturnType<T[K]>
83
- : T[K];
84
- };
85
-
86
- // all stamps
87
- export type WithStamps = WithTimestamps & WithUserstamps;
88
-
89
- export type WithStampsResponse<T> = T & WithStamps;
90
-
91
- export type WithoutStamps<T> = Omit<T, CreatedAt | UpdatedAt | CreatedBy | UpdatedBy>;
92
-
93
- // pagination
94
- export interface IPaginationRequest {
95
- per_page?: number;
96
- current_page?: number;
97
- }
98
-
99
- export interface IPaginationResponse<T> {
100
- per_page: number;
101
- current_page: number;
102
- total: number;
103
- data: T[];
104
- }
105
-
106
- // find by id
107
- export interface IFindByIdRequest extends Record<string, string> {
108
- id: string;
109
- }
110
-
111
- // find by id number
112
-
113
- export interface IFindByIdNumberRequest {
114
- id: number;
115
- }
116
-
117
- // find minified
118
- export interface IFindMinifiedRequest {
119
- owner_id?: string;
120
- search_value?: string | null;
121
- }
122
-
123
- export interface IFindMinifiedResponse {
124
- id: string;
125
- name: string;
126
- group?: string;
127
- multimedia_id?: string;
128
- }
129
-
130
- // find by owner id
131
- export interface IFindByOwnerIdRequest {
132
- owner_id: string;
133
- }
134
-
135
- export interface IFindOptionalByOwnerIdRequest {
136
- owner_id?: string;
137
- }
138
-
139
- // update many response
140
- export interface IUpdateManyResponse {
141
- count: number;
142
- }
143
-
144
- export const IDataTypeEnum: {
145
- date: 'date';
146
- datetime: 'datetime';
147
- text: 'text';
148
- decimal: 'decimal';
149
- integer: 'integer';
150
- select: 'select';
151
- select_multi: 'select_multi';
152
- select_custom: 'select_custom';
153
- boolean: 'boolean';
154
- url: 'url';
155
- email: 'email';
156
- tel: 'tel';
157
- file: 'file';
158
- password: 'password';
159
- multiline: 'multiline';
160
- json: 'json';
161
- userstamp: 'userstamp';
162
- } = {
163
- date: 'date',
164
- datetime: 'datetime',
165
- text: 'text',
166
- decimal: 'decimal',
167
- integer: 'integer',
168
- select: 'select',
169
- select_multi: 'select_multi',
170
- select_custom: 'select_custom',
171
- boolean: 'boolean',
172
- url: 'url',
173
- email: 'email',
174
- tel: 'tel',
175
- file: 'file',
176
- password: 'password',
177
- multiline: 'multiline',
178
- json: 'json',
179
- userstamp: 'userstamp',
180
- };
181
-
182
- export type IDatatype = (typeof IDataTypeEnum)[keyof typeof IDataTypeEnum];
183
-
184
- export const dataTypes = Object.keys(IDataTypeEnum);
185
-
186
- // route validation
187
- export type IRouteRequest<T> = Record<keyof WithoutStamps<T>, joi.AnySchema>;
188
- export type IRouteRequestWithStamps<T> = Record<keyof T, joi.AnySchema>;
189
-
190
- export type IRouteResponseWithStamp<T> = Record<keyof WithStampsResponse<T>, joi.AnySchema>;
191
-
192
- export type IRouteResponseWithoutStamps<T> = Record<keyof WithoutStamps<T>, joi.AnySchema>;
193
-
194
- export type IRouteResponsePagination<T> = Record<keyof IPaginationResponse<T>, joi.AnySchema>;
195
-
196
- // find minified query validation
197
- const findMinifiedQueryKeys: IRouteRequest<IFindMinifiedRequest> = {
198
- search_value: joi.string().allow('', null).optional(),
199
- owner_id: joi.string().uuid().optional(),
200
- };
201
- export const findMinifiedQuery = joi.object().keys(findMinifiedQueryKeys).messages(messages);
202
-
203
- // find optional by owner id query validation
204
- const findOptionalByOwnerIdQueryKeys: IRouteRequest<IFindOptionalByOwnerIdRequest> = {
205
- owner_id: joi.string().uuid().optional(),
206
- };
207
- export const findByOptionalOwnerIdQuery = joi
208
- .object()
209
- .keys(findOptionalByOwnerIdQueryKeys)
210
- .messages(messages);
211
-
212
- // find by owner id query validation
213
- export const findByOwnerIdQueryKeys: IRouteRequest<IFindByOwnerIdRequest> = {
214
- owner_id: joi.string().uuid().required(),
215
- };
216
- export const findByOwnerIdQuery = joi.object().keys(findByOwnerIdQueryKeys).messages(messages);
217
-
218
- // find by id param validation
219
- const findByIdParamKeys: IRouteRequest<IFindByIdRequest> = {
220
- id: joi.string().uuid().required(),
221
- };
222
- export const idParam = joi.object().keys(findByIdParamKeys).messages(messages);
223
-
224
- const findByIdNumberParamKeys: IRouteRequest<IFindByIdNumberRequest> = {
225
- id: joi.number().positive().required(),
226
- };
227
- export const idNumberParam = joi.object().keys(findByIdNumberParamKeys).messages(messages);
228
-
229
- // find minified response validation
230
- const findMinifiedReponseKeys: IRouteResponseWithoutStamps<IFindMinifiedResponse> = {
231
- id: joi.string().uuid().required(),
232
- name: joi.string().required(),
233
- group: joi.string(),
234
- multimedia_id: joi.string(),
235
- };
236
-
237
- export const findMinifiedReponse = joi.array().items(findMinifiedReponseKeys);
238
-
239
- // all stamps response validation
240
- export const joiValidateStamps: IRouteResponseWithoutStamps<WithTimestampsOriginID> = {
241
- created_at: joi.date().required(),
242
- updated_at: joi.date().required(),
243
- created_by: joi.string().allow(null),
244
- updated_by: joi.string().allow(null),
245
- origin_id: joi.string().allow(null),
246
- };
247
-
248
- export interface ITaskClusterLoading {
249
- task_id: string;
250
- description: string;
251
- }
252
- export interface ITaskCluster {
253
- owner_id: string;
254
- loading: ITaskClusterLoading[];
255
- }
256
-
257
- export const IUserSendEmailDocumentTemplateEnum: {
258
- generic: 'generic';
259
- provider_payment_order: 'provider_payment_order';
260
- } = {
261
- generic: 'generic',
262
- provider_payment_order: 'provider_payment_order',
263
- };
264
-
265
- export type IUserSendEmailDocumentTemplate =
266
- (typeof IUserSendEmailDocumentTemplateEnum)[keyof typeof IUserSendEmailDocumentTemplateEnum];
267
-
268
- export const IUserSendEmailDocumentTemplateTypes = Object.keys(IUserSendEmailDocumentTemplateEnum);
269
-
270
- // broker messages
271
- export enum IBrokerTopic {
272
- // events
273
- create = 'create',
274
- update = 'update',
275
- delete = 'delete',
276
- // moloni
277
- moloni_create_document = 'moloni_create_document',
278
- moloni_backup_pdf = 'moloni_backup_pdf',
279
- // tickets
280
- tickets_change = 'tickets_change',
281
- // auth
282
- user_send_email_password = 'user_send_email_password',
283
- user_send_email_document = 'user_send_email_document',
284
- // google access
285
- grant_access = 'grant_access',
286
- remove_access = 'remove_access',
287
- google_sheet_set_permissions = 'google_sheet_set_permissions',
288
- google_sheet_update = 'google_sheet_update',
289
- google_sheet_import = 'google_sheet_import',
290
- import_master_artigos = 'import_master_artigos',
291
- // emails
292
- undo_provider_order_schedule_email = 'undo_provider_order_schedule_email',
293
- provider_order_schedule_email = 'provider_order_schedule_email',
294
- client_notice_schedule_email = 'client_notice_schedule_email',
295
- retry_errored_emails = 'retry_errored_emails',
296
- send_errored_emails_summary = 'send_errored_emails_summary',
297
- warning_email = 'warning_email',
298
- verification_email = 'verification_email',
299
- dispatch_chat_message = 'dispatch_chat_message',
300
- // async task
301
- perform_task = 'perform_task',
302
- // project info
303
- create_site_proposal = 'create_site_proposal',
304
- // socket
305
- task_done = 'task_done',
306
- push_notification = 'push_notification',
307
- // logs
308
- error_log = 'error_log',
309
- kafka_log = 'kafka_log',
310
- express_log = 'express_log',
311
- cron_log = 'cron_log',
312
- moloni_log = 'moloni_log',
313
- server_service_log = 'server_service_log',
314
- server_backup_log = 'server_backup_log',
315
- server_docker_log = 'server_docker_log',
316
- server_certificate_log = 'server_certificate_log',
317
- server_filesystem_log = 'server_filesystem_log',
318
- service_print_log = 'service_print_log',
319
- service_project_info_log = 'service_project_info_log',
320
- service_multimedia_log = 'service_multimedia_log',
321
- service_multimedia_summary_log = 'service_multimedia_summary_log',
322
- service_email_log = 'service_email_log',
323
- service_chat_log = 'service_chat_log',
324
- googlesheet_proposta_log = 'googlesheet_proposta_log',
325
- googlesheet_task_log = 'googlesheet_task_log',
326
- googlesheet_stock_log = 'googlesheet_stock_log',
327
- googlesheet_encomenda_log = 'googlesheet_encomenda_log',
328
- }
329
-
330
- export type IBrokerTopicPayload = {
331
- [IBrokerTopic.create]: Record<string, unknown>;
332
- [IBrokerTopic.update]: Record<string, unknown>;
333
- [IBrokerTopic.delete]: Record<string, unknown>;
334
- [IBrokerTopic.task_done]: {
335
- owner_id: string;
336
- task_id: string;
337
- description: string;
338
- };
339
- [IBrokerTopic.google_sheet_import]: {
340
- google_sheet_import_id: string;
341
- google_sheet_id: string;
342
- original_document_header_id?: string;
343
- user_id: string;
344
- location_id: string;
345
- };
346
- [IBrokerTopic.moloni_create_document]: {
347
- document_header_id: string;
348
- user_id: string;
349
- location_id: string;
350
- };
351
- [IBrokerTopic.moloni_backup_pdf]: {
352
- document_header_id: string;
353
- user_id: string;
354
- location_id: string;
355
- };
356
- [IBrokerTopic.user_send_email_password]: {
357
- token: string;
358
- user: {
359
- name: string | null;
360
- account: string;
361
- email: string;
362
- };
363
- };
364
- [IBrokerTopic.user_send_email_document]: {
365
- template: IUserSendEmailDocumentTemplate;
366
- user_type: IDocumentTypeUserType;
367
- user: {
368
- name: string;
369
- email: string;
370
- };
371
- owner_id: string;
372
- document_header_id: string;
373
- start_document_name: string;
374
- documents: {
375
- document_header_id: string;
376
- document_name: string;
377
- document_fullname: string;
378
- multimedia_id: string;
379
- }[];
380
- };
381
- [IBrokerTopic.grant_access]: {
382
- email: string;
383
- };
384
- [IBrokerTopic.remove_access]: {
385
- email: string;
386
- };
387
- [IBrokerTopic.tickets_change]: {
388
- last_tickets_called_today_by_channel: ILastTicketCalledTodayByChannel[];
389
- remaining_today_tickets_to_call: IRemainingTodayTickets[];
390
- };
391
- [IBrokerTopic.google_sheet_set_permissions]: {
392
- file_id: string;
393
- email: string;
394
- };
395
- [IBrokerTopic.google_sheet_update]: {
396
- spreadsheetId: string;
397
- document_name: string;
398
- client_data?: IGetUserData;
399
- };
400
- [IBrokerTopic.provider_order_schedule_email]: {
401
- provider_id: string;
402
- ef_dh_id: string; // EF
403
- ef_pdf_link: string;
404
- pf_number: string;
405
- provider_name: string;
406
- provider_email: string;
407
- attachments: Pick<File, 'title' | 'multimedia_id'>[];
408
- };
409
- [IBrokerTopic.undo_provider_order_schedule_email]: {
410
- provider_id: string;
411
- ef_dh_id: string; // EF
412
- ef_pdf_link: string;
413
- pf_number: string;
414
- provider_name: string;
415
- provider_email: string;
416
- };
417
- [IBrokerTopic.client_notice_schedule_email]: {
418
- client_id: string;
419
- pc_dh_id: string; // PC
420
- chat_id: string;
421
- pc_number: string;
422
- client_name: string;
423
- client_email: string;
424
- };
425
- [IBrokerTopic.perform_task]: {
426
- task_name: IScheduleType;
427
- user_token: IUserToken;
428
- };
429
- [IBrokerTopic.warning_email]: {
430
- email: string;
431
- name: string;
432
- warning: IWarningType;
433
- document_header_id: string; // PC
434
- document_number: number;
435
- document_lines: {
436
- designation: string;
437
- quantity: string;
438
- state: string;
439
- }[];
440
- };
441
- [IBrokerTopic.retry_errored_emails]: Record<string, never>;
442
- [IBrokerTopic.send_errored_emails_summary]: { warningErrors: string[] };
443
- [IBrokerTopic.dispatch_chat_message]: {
444
- to: [
445
- {
446
- email: string;
447
- name: string;
448
- phone_number: string | null;
449
- },
450
- ];
451
- reply_url: string;
452
- owner_id: string;
453
- document_header_id: string | null;
454
- document_name: string;
455
- chat_id: string;
456
- email_subject?: string;
457
- created_by: string;
458
- };
459
- [IBrokerTopic.create_site_proposal]: KafkaProjectInfo;
460
- [IBrokerTopic.verification_email]: {
461
- email: string;
462
- token: string;
463
- };
464
- [IBrokerTopic.push_notification]: {
465
- counts: Record<string, number>;
466
- timestamp: string;
467
- };
468
- [IBrokerTopic.import_master_artigos]: {};
469
- [IBrokerTopic.kafka_log]: {
470
- id: string;
471
- topic: string;
472
- payload: unknown;
473
- error?: unknown;
474
- output?: unknown;
475
- done: boolean;
476
- };
477
- [IBrokerTopic.error_log]: ErrorLog.ICreateRequest;
478
- [IBrokerTopic.express_log]: {
479
- id: string;
480
- service: string;
481
- method: string;
482
- url: string;
483
- user: unknown;
484
- headers: unknown;
485
- params: unknown;
486
- query: unknown;
487
- body: unknown;
488
- status_code?: number;
489
- error?: unknown;
490
- response_size?: number;
491
- response_time?: number;
492
- };
493
- [IBrokerTopic.cron_log]: {
494
- id: string;
495
- task: string;
496
- error?: unknown;
497
- output?: unknown;
498
- done: boolean;
499
- };
500
- [IBrokerTopic.moloni_log]: {
501
- request_method: string;
502
- request_url: string;
503
- request_headers: unknown;
504
- request_params: unknown;
505
- request_body: unknown;
506
- response_body: unknown;
507
- };
508
- [IBrokerTopic.server_service_log]: IServiceStatus;
509
- [IBrokerTopic.server_backup_log]: IPostgresBackup;
510
- [IBrokerTopic.server_docker_log]: IServiceLogs;
511
- [IBrokerTopic.server_certificate_log]: string;
512
- [IBrokerTopic.server_filesystem_log]: string;
513
- [IBrokerTopic.service_print_log]: IPrint;
514
- [IBrokerTopic.service_project_info_log]: IProjectInfo;
515
- [IBrokerTopic.service_multimedia_log]: IMultimedia;
516
- [IBrokerTopic.service_multimedia_summary_log]: IMultimediaSummary;
517
- [IBrokerTopic.service_email_log]: IEmail;
518
- [IBrokerTopic.service_chat_log]: IChat;
519
- [IBrokerTopic.googlesheet_proposta_log]: IProposta & { id: string };
520
- [IBrokerTopic.googlesheet_task_log]: ITask;
521
- [IBrokerTopic.googlesheet_stock_log]: IStock;
522
- [IBrokerTopic.googlesheet_encomenda_log]: IEncomenda;
523
- };
524
-
525
- export interface IBrokerMessage<T extends IBrokerTopic = IBrokerTopic> {
526
- topic: T;
527
- payload: IBrokerTopicPayload[T];
528
- }
529
-
530
- // typescript utils
531
- export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &
532
- {
533
- [K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
534
- }[Keys];
535
-
536
- export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &
537
- {
538
- [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
539
- }[Keys];
540
-
541
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
542
- type Impossible<K extends keyof any> = {
543
- [P in K]: never;
544
- };
545
-
546
- export type NoExtraProperties<T, U extends T = T> = U & Impossible<Exclude<keyof U, keyof T>>;
547
-
548
- export type ExactPromise<T> = Promise<NoExtraProperties<T>>;
@@ -1,141 +0,0 @@
1
- import joi from 'joi';
2
-
3
- export const messages: joi.LanguageMessages = {
4
- 'alternatives.all': '{{#label}} não é compatível com nenhum dos tipos pedidos',
5
- 'alternatives.any': '{{#label}} não é compatível com nenhum dos tipos permitidos',
6
- 'alternatives.match': '{{#label}} não é compatível com nenhum dos tipos permitidos',
7
- 'alternatives.one': '{{#label}} é compatível com mais de um dos tipos permitidos',
8
- 'alternatives.types': '{{#label}} deve ser um dos {{#types}}',
9
-
10
- 'any.custom': '{{#label}} falhou na validação devido a {{#error.message}}',
11
- 'any.default': '{{#label}} gerou um erro ao executar o método default',
12
- 'any.failover': '{{#label}} gerou um erro ao executar o método failover',
13
- 'any.invalid': '{{#label}} contém um valor inválido',
14
- 'any.only': '{{#label}} deve ser {if(#valids.length == 1, "", "um dos ")}{{#valids}}',
15
- 'any.ref': '{{#label}} {{#arg}} referência {{:#ref}} que {{#reason}}',
16
- 'any.required': '{{#label}} é obrigatório',
17
- 'any.unknown': '{{#label}} não é permitido',
18
-
19
- 'array.base': '{{#label}} deve ser um array',
20
- 'array.excludes': '{{#label}} contém um valor excluído',
21
- 'array.hasKnown': '{{#label}} não contém nenhum padrão necessário para o tipo {:#patternLabel}',
22
- 'array.hasUnknown': '{{#label}} não contém nenhum padrão necessário',
23
- 'array.includes': '{{#label}} não é compatível com nenhum dos tipos permitidos',
24
- 'array.includesRequiredBoth':
25
- '{{#label}} não contém {{#knownMisses}} e outro(s) valor(es) {{#unknownMisses}} obrigatório(s)',
26
- 'array.includesRequiredKnowns': '{{#label}} não contém {{#knownMisses}}',
27
- 'array.includesRequiredUnknowns':
28
- '{{#label}} não contém o(s) valor(es) {{#unknownMisses}} obrigatórios',
29
- 'array.length': '{{#label}} deve conter {{#limit}} itens',
30
- 'array.max': '{{#label}} deve conter no máximo {{#limit}} itens',
31
- 'array.min': '{{#label}} deve conter pelo menos {{#limit}} itens',
32
- 'array.orderedLength': '{{#label}} deve conter pelo menos {{#limit}} itens',
33
- 'array.sort': '{{#label}} deve ser ordenado em {#order} por {{#by}}',
34
- 'array.sort.mismatching': '{{#label}} não pode ser ordenado devido a tipos incompatíveis',
35
- 'array.sort.unsupported':
36
- '{{#label}} não pode ser ordenado devido ao tipo não suportado: {#type}',
37
- 'array.sparse': '{{#label}} não deve ser um item não definido',
38
- 'array.unique': '{{#label}} contém um item duplicado',
39
-
40
- 'binary.base': '{{#label}} deve ser um buffer ou um texto',
41
- 'binary.length': '{{#label}} deve ter {{#limit}} bytes',
42
- 'binary.max': '{{#label}} deve ter no máximo {{#limit}} bytes',
43
- 'binary.min': '{{#label}} deve ter pelo menos {{#limit}} bytes',
44
-
45
- 'boolean.base': '{{#label}} deve ser um booleano',
46
-
47
- 'date.base': '{{#label}} deve ser uma data válida.',
48
- 'date.format': '{{#label}} deve estar no formato: {msg("date.format." + #format) || #format}',
49
- 'date.greater': '{{#label}} deve ser maior que {{:#limit}}',
50
- 'date.less': '{{#label}} deve ser menor que {{:#limit}}',
51
- 'date.max': '{{#label}} deve ser menor que ou igual a {{:#limit}}',
52
- 'date.min': '{{#label}} deve ser maior que ou igual a {{:#limit}}',
53
-
54
- 'date.format.iso': 'data ISO 8601',
55
- 'date.format.javascript': 'timestamp ou número de milisegundos',
56
- 'date.format.unix': 'timestamp ou número de segundos',
57
-
58
- 'function.arity': '{{#label}} deve ter {{#n}} argumentos',
59
- 'function.class': '{{#label}} deve ser uma classe',
60
- 'function.maxArity': '{{#label}} deve ter no máximo {{#n}} argumentos',
61
- 'function.minArity': '{{#label}} deve ter pelo menos {{#n}} argumentos',
62
-
63
- 'object.and':
64
- '{{#label}} contém {{#presentWithLabels}} sem seus pares necessários {{#missingWithLabels}}',
65
- 'object.assert':
66
- '{{#label}} não é válido devido a {if(#subject.key, `"` + #subject.key + `" falhou em ` + (#message || "passar no teste de validação"), #message || "a validação falhou")}',
67
- 'object.base': '{{#label}} deve ser do tipo {{#type}}',
68
- 'object.instance': '{{#label}} deve ser uma instância de {{:#type}}',
69
- 'object.length': '{{#label}} deve ter {{#limit}} entrada{if(#limit == 1, "", "s")}',
70
- 'object.max': '{{#label}} deve ter no máximo {{#limit}} entrada{if(#limit == 1, "", "s")}',
71
- 'object.min': '{{#label}} deve ter pelo menos {{#limit}} entrada{if(#limit == 1, "", "s")}',
72
- 'object.missing': '{{#label}} deve conter pelo menos um de {{#peersWithLabels}}',
73
- 'object.nand': '{{:#mainWithLabel}} não deve existir simultaneamente com {{#peersWithLabels}}',
74
- 'object.oxor':
75
- '{{#label}} contem um conflito entre pares opcionais exlusivos {{#peersWithLabels}}',
76
- 'object.pattern.match': '{{#label}} entradas falharam em se adequar aos padrões pedidos',
77
- 'object.refType': '{{#label}} deve ser uma referência do Joi',
78
- 'object.regex': '{{#label}} deve ser um objeto RegExp',
79
- 'object.rename.multiple':
80
- '{{#label}} não pode renomear {{:#from}} pois renomear multiplas entradas esta desabilitado e outra chave já foi renomeada para {{:#to}}',
81
- 'object.rename.override':
82
- '{{#label}} não pode renomear {{:#from}} pois sobrescrever está desabilitado e o destino {{:#to}} existe',
83
- 'object.schema': '{{#label}} deve ser um schema Joi do tipo {{#type}}',
84
- 'object.unknown': '{{#label}} não é permitido',
85
- 'object.with': '{{:#mainWithLabel}} falta par obrigatório {{:#peerWithLabel}}',
86
- 'object.without': '{{:#mainWithLabel}} conflita com par proibido {{:#peerWithLabel}}',
87
- 'object.xor': '{{#label}} contém um conflito entre pares exclusivos {{#peersWithLabels}}',
88
-
89
- 'number.base': '{{#label}} deve ser um número',
90
- 'number.greater': '{{#label}} deve ser maior que {{#limit}}',
91
- 'number.infinity': '{{#label}} não pode ser infinito',
92
- 'number.integer': '{{#label}} deve ser um número inteiro',
93
- 'number.less': '{{#label}} deve ser menor que {{#limit}}',
94
- 'number.max': '{{#label}} deve ser menor que ou igual a {{#limit}}',
95
- 'number.min': '{{#label}} deve ser maior que ou igual a {{#limit}}',
96
- 'number.multiple': '{{#label}} deve ser um múltiplo de {{#multiple}}',
97
- 'number.negative': '{{#label}} deve ser um número negativo',
98
- 'number.port': '{{#label}} deve ser uma porta válida',
99
- 'number.positive': '{{#label}} deve ser um número positivo',
100
- 'number.precision': '{{#label}} não deve ter mais que {{#limit}} casas decimais',
101
- 'number.unsafe': '{{#label}} deve ser um número seguro',
102
-
103
- 'string.alphanum': '{{#label}} deve conter apenas números e letras',
104
- 'string.base': '{{#label}} deve ser um texto',
105
- 'string.base64': '{{#label}} deve ser um texto base64 válido',
106
- 'string.creditCard': '{{#label}} deve ser um número de cartão de crédito válido',
107
- 'string.dataUri': '{{#label}} deve ser uma URI de dados',
108
- 'string.domain': '{{#label}} deve ser um nome de domínio válido',
109
- 'string.email': '{{#label}} deve ser um e-mail válido',
110
- 'string.empty': '{{#label}} não deve ser vazio',
111
- 'string.guid': '{{#label}} deve ser um GUID válido',
112
- 'string.hex': '{{#label}} deve conter apenas caracteres hexadecimais',
113
- 'string.hexAlign': '{{#label}} a decodificação hexadecimal deve ser byte alinhada',
114
- 'string.hostname': '{{#label}} deve ser um nome de host válido',
115
- 'string.ip': '{{#label}} deve ser um endereço de ip válido com um CIDR {{#cidr}}',
116
- 'string.ipVersion':
117
- '{{#label}} deve ser um endereço de ip válido de uma das versões: {{#version}} com um CIDR {{#cidr}}',
118
- 'string.isoDate': '{{#label}} deve estar no formato ISO',
119
- 'string.isoDuration': '{{#label}} deve ser uma duração com formato ISO 8601 válido',
120
- 'string.length': 'A quantidade de caracteres de {{#label}} deve ser de {{#limit}} caracteres',
121
- 'string.lowercase': '{{#label}} deve conter apenas caracteres minúsculos',
122
- 'string.max': 'A quantidade de caracteres de {{#label}} deve ser menor ou igual que {{#limit}}',
123
- 'string.min': 'A quantidade de caracteres de {{#label}} deve ser de pelo menos {{#limit}}',
124
- 'string.normalize': '{{#label}} deve ser normalizado unicode no formulário {{#form}}',
125
- 'string.token': '{{#label}} deve conter apenas números, letras e caracteres de sublinhado',
126
- 'string.pattern.base':
127
- '{{#label}} com valor {:[.]} não confere com o padrão requerido: {{#regex}}',
128
- 'string.pattern.name': '{{#label}} com valor {:[.]} não confere com o padrão {{#name}}',
129
- 'string.pattern.invert.base':
130
- '{{#label}} com valor {:[.]} confere com o padrão invertido: {{#regex}}',
131
- 'string.pattern.invert.name':
132
- '{{#label}} com valor {:[.]} confere com o padrão invertido {{#name}}',
133
- 'string.trim': '{{#label}} não deve espaços em branco no começo ou no final',
134
- 'string.uri': '{{#label}} deve ser uma URL válida',
135
- 'string.uriCustomScheme': '{{#label}} deve ser uma url válida de acordo com o padrão {{#scheme}}',
136
- 'string.uriRelativeOnly': '{{#label}} deve ser uma url relativa válida',
137
- 'string.uppercase': '{{#label}} deve conter apenas caracteres maiúsculos',
138
-
139
- 'symbol.base': '{{#label}} deve ser um símbolo',
140
- 'symbol.map': '{{#label}} deve ser um dos {{#map}}',
141
- };