@nomalism-com/types 0.37.7 → 0.37.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/index.cjs +2 -5
  2. package/dist/index.js +2 -5
  3. package/dist/modules/stock/chat/interfaces.d.ts +0 -1
  4. package/dist/modules/supply/documentSet/interface.d.ts +0 -2
  5. package/dist/shared/entities/stock.d.ts +0 -2
  6. package/package.json +4 -1
  7. package/.editorconfig +0 -9
  8. package/.prettierrc +0 -7
  9. package/eslint.config.mjs +0 -39
  10. package/package-lock.json +0 -4327
  11. package/src/index.ts +0 -3
  12. package/src/main.ts +0 -672
  13. package/src/modules/document/billOfLading/interfaces.ts +0 -26
  14. package/src/modules/document/billOfLading/route.schema.ts +0 -32
  15. package/src/modules/document/inventario/interface.ts +0 -19
  16. package/src/modules/document/inventario/route.schema.ts +0 -16
  17. package/src/modules/document/materialEntrance/interfaces.ts +0 -207
  18. package/src/modules/document/materialEntrance/route.schema.ts +0 -53
  19. package/src/modules/document/order/interfaces.ts +0 -172
  20. package/src/modules/document/order/route.schema.ts +0 -61
  21. package/src/modules/document/productionOrder/interfaces.ts +0 -12
  22. package/src/modules/document/productionOrder/route.schema.ts +0 -13
  23. package/src/modules/document/proforma/interfaces.ts +0 -15
  24. package/src/modules/document/proforma/route.schema.ts +0 -14
  25. package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
  26. package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
  27. package/src/modules/document/propostaSheets/interface.ts +0 -113
  28. package/src/modules/document/propostaSheets/route.schema.ts +0 -45
  29. package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
  30. package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
  31. package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
  32. package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
  33. package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
  34. package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
  35. package/src/modules/document/purchase/interfaces.ts +0 -112
  36. package/src/modules/document/purchase/route.schema.ts +0 -51
  37. package/src/modules/document/quebra/interfaces.ts +0 -46
  38. package/src/modules/document/quebra/route.schema.ts +0 -25
  39. package/src/modules/document/returnToProvider/interface.ts +0 -59
  40. package/src/modules/document/returnToProvider/route.schema.ts +0 -27
  41. package/src/modules/document/transformado/interfaces.ts +0 -31
  42. package/src/modules/document/transformado/route.schema.ts +0 -26
  43. package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
  44. package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
  45. package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
  46. package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
  47. package/src/modules/integration/emailLog/interfaces.ts +0 -111
  48. package/src/modules/integration/emailLog/route.schema.ts +0 -18
  49. package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
  50. package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
  51. package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
  52. package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
  53. package/src/modules/integration/emailVerification/interfaces.ts +0 -30
  54. package/src/modules/integration/emailVerification/route.schema.ts +0 -34
  55. package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
  56. package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
  57. package/src/modules/integration/googleSheets/interfaces.ts +0 -98
  58. package/src/modules/integration/googleSheets/route.schema.ts +0 -52
  59. package/src/modules/integration/observation/interfaces.ts +0 -61
  60. package/src/modules/integration/observation/route.schema.ts +0 -40
  61. package/src/modules/integration/observationType/interfaces.ts +0 -37
  62. package/src/modules/integration/observationType/route.schema.ts +0 -17
  63. package/src/modules/integration/projectInfo/interfaces.ts +0 -26
  64. package/src/modules/integration/projectInfo/route.schema.ts +0 -18
  65. package/src/modules/integration/settings/interfaces.ts +0 -31
  66. package/src/modules/integration/settings/route.schema.ts +0 -24
  67. package/src/modules/print/npc/interfaces.ts +0 -34
  68. package/src/modules/print/npc/route.schema.ts +0 -21
  69. package/src/modules/print/printer/interfaces.ts +0 -47
  70. package/src/modules/print/printer/route.schema.ts +0 -60
  71. package/src/modules/print/schedulePrintJob/interfaces.ts +0 -48
  72. package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
  73. package/src/modules/stock/chat/interfaces.ts +0 -82
  74. package/src/modules/stock/chat/route.schema.ts +0 -28
  75. package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
  76. package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
  77. package/src/modules/stock/dashboard/interface.ts +0 -25
  78. package/src/modules/stock/dashboard/route.schema.ts +0 -11
  79. package/src/modules/stock/file/interface.ts +0 -37
  80. package/src/modules/stock/file/route.schema.ts +0 -37
  81. package/src/modules/stock/location/interface.ts +0 -77
  82. package/src/modules/stock/location/route.schema.ts +0 -57
  83. package/src/modules/stock/prison/interface.ts +0 -70
  84. package/src/modules/stock/prison/route.schema.ts +0 -50
  85. package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
  86. package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
  87. package/src/modules/stock/productImage/interface.ts +0 -69
  88. package/src/modules/stock/productImage/route.schema.ts +0 -52
  89. package/src/modules/stock/promotion/interface.ts +0 -61
  90. package/src/modules/stock/promotion/route.schema.ts +0 -39
  91. package/src/modules/stock/promotionAssoc/interface.ts +0 -62
  92. package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
  93. package/src/modules/stock/queryList/interfaces.ts +0 -56
  94. package/src/modules/stock/queryList/route.schema.ts +0 -37
  95. package/src/modules/stock/queryParameter/interfaces.ts +0 -72
  96. package/src/modules/stock/queryParameter/route.schema.ts +0 -36
  97. package/src/modules/stock/recurrentTasks/interface.ts +0 -12
  98. package/src/modules/stock/returnReason/interfaces.ts +0 -23
  99. package/src/modules/stock/returnReason/route.schema.ts +0 -14
  100. package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
  101. package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
  102. package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
  103. package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
  104. package/src/modules/stock/sideMenu/interface.ts +0 -48
  105. package/src/modules/stock/sideMenu/route.schema.ts +0 -20
  106. package/src/modules/stock/stockMovement/interface.ts +0 -78
  107. package/src/modules/stock/stockMovement/route.schema.ts +0 -34
  108. package/src/modules/stock/tag/interface.ts +0 -36
  109. package/src/modules/stock/tag/route.schema.ts +0 -30
  110. package/src/modules/stock/task/interface.ts +0 -126
  111. package/src/modules/stock/task/route.schema.ts +0 -48
  112. package/src/modules/stock/taskMessage/interface.ts +0 -18
  113. package/src/modules/stock/taskMessage/route.schema.ts +0 -19
  114. package/src/modules/stock/taskRead/interface.ts +0 -17
  115. package/src/modules/stock/taskRead/route.schema.ts +0 -18
  116. package/src/modules/stock/typeOfLocation/interface.ts +0 -51
  117. package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
  118. package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
  119. package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
  120. package/src/modules/stock/vatTax/interface.ts +0 -55
  121. package/src/modules/stock/vatTax/route.schema.ts +0 -33
  122. package/src/modules/stock/vatTaxZone/interface.ts +0 -63
  123. package/src/modules/stock/vatTaxZone/route.schema.ts +0 -42
  124. package/src/modules/stock/vatValidation/interfaces.ts +0 -10
  125. package/src/modules/stock/vatValidation/route.schema.ts +0 -8
  126. package/src/modules/stock/workflow/interfaces.ts +0 -64
  127. package/src/modules/stock/workflow/route.schema.ts +0 -28
  128. package/src/modules/supply/batch/interface.ts +0 -0
  129. package/src/modules/supply/documentHeader/interfaces.ts +0 -497
  130. package/src/modules/supply/documentHeader/route.schema.ts +0 -371
  131. package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
  132. package/src/modules/supply/documentLine/interfaces.ts +0 -210
  133. package/src/modules/supply/documentLine/route.schema.ts +0 -108
  134. package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
  135. package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
  136. package/src/modules/supply/documentLineMT/interface.ts +0 -27
  137. package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
  138. package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
  139. package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
  140. package/src/modules/supply/documentLineRM/interface.ts +0 -34
  141. package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
  142. package/src/modules/supply/documentSet/interface.ts +0 -31
  143. package/src/modules/supply/documentSet/route.schema.ts +0 -20
  144. package/src/modules/supply/documentType/interfaces.ts +0 -214
  145. package/src/modules/supply/documentType/route.schema.ts +0 -75
  146. package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
  147. package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
  148. package/src/modules/supply/externalDocumentType/interface.ts +0 -14
  149. package/src/modules/supply/orderManagement/interface.ts +0 -49
  150. package/src/modules/supply/orderManagement/route.schema.ts +0 -0
  151. package/src/modules/supply/payment/interface.ts +0 -229
  152. package/src/modules/supply/payment/route.schema.ts +0 -122
  153. package/src/modules/supply/preSale/interface.ts +0 -92
  154. package/src/modules/supply/preSale/route.schema.ts +0 -75
  155. package/src/modules/supply/preSaleProduct/interface.ts +0 -16
  156. package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
  157. package/src/modules/supply/schedule/interface.ts +0 -47
  158. package/src/modules/supply/schedule/route.schema.ts +0 -14
  159. package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
  160. package/src/modules/tickets/channel/interfaces.ts +0 -35
  161. package/src/modules/tickets/channel/route.schema.ts +0 -24
  162. package/src/modules/tickets/clt/interfaces.ts +0 -26
  163. package/src/modules/tickets/clt/route.schema.ts +0 -24
  164. package/src/modules/tickets/language/interfaces.ts +0 -25
  165. package/src/modules/tickets/language/route.schema.ts +0 -28
  166. package/src/modules/tickets/tickets/interfaces.ts +0 -80
  167. package/src/modules/tickets/tickets/route.schema.ts +0 -19
  168. package/src/modules/user/bankData/interface.ts +0 -64
  169. package/src/modules/user/bankData/route.schema.ts +0 -40
  170. package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
  171. package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
  172. package/src/modules/user/clientType/interface.ts +0 -47
  173. package/src/modules/user/clientType/route.schema.ts +0 -31
  174. package/src/modules/user/clients/interface.ts +0 -138
  175. package/src/modules/user/clients/route.schema.ts +0 -87
  176. package/src/modules/user/commissioner/interface.ts +0 -110
  177. package/src/modules/user/commissioner/route.schema.ts +0 -65
  178. package/src/modules/user/country/interface.ts +0 -54
  179. package/src/modules/user/country/route.schema.ts +0 -36
  180. package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
  181. package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
  182. package/src/modules/user/favorites/interfaces.ts +0 -28
  183. package/src/modules/user/favorites/route.schema.ts +0 -19
  184. package/src/modules/user/groupPermissions/interface.ts +0 -32
  185. package/src/modules/user/groupPermissions/route.schema.ts +0 -11
  186. package/src/modules/user/language/interface.ts +0 -47
  187. package/src/modules/user/language/route.schema.ts +0 -28
  188. package/src/modules/user/maturityDates/interfaces.ts +0 -31
  189. package/src/modules/user/maturityDates/route.schema.ts +0 -18
  190. package/src/modules/user/password/interfaces.ts +0 -21
  191. package/src/modules/user/password/route.schema.ts +0 -22
  192. package/src/modules/user/paymentMethods/interfaces.ts +0 -72
  193. package/src/modules/user/paymentMethods/route.schema.ts +0 -27
  194. package/src/modules/user/permissions/interface.ts +0 -34
  195. package/src/modules/user/permissions/route.schema.ts +0 -11
  196. package/src/modules/user/persona/interface.ts +0 -157
  197. package/src/modules/user/persona/route.schema.ts +0 -101
  198. package/src/modules/user/providerType/interface.ts +0 -47
  199. package/src/modules/user/providerType/route.schema.ts +0 -28
  200. package/src/modules/user/providers/interface.ts +0 -130
  201. package/src/modules/user/providers/route.schema.ts +0 -85
  202. package/src/modules/user/purchaseConditions/interface.ts +0 -58
  203. package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
  204. package/src/modules/user/reasonForExemption/interface.ts +0 -53
  205. package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
  206. package/src/modules/user/refreshToken/interface.ts +0 -19
  207. package/src/modules/user/refreshToken/route.schema.ts +0 -10
  208. package/src/modules/user/segmentsArea/interface.ts +0 -49
  209. package/src/modules/user/segmentsArea/route.schema.ts +0 -30
  210. package/src/modules/user/sessions/interface.ts +0 -24
  211. package/src/modules/user/sessions/route.schema.ts +0 -10
  212. package/src/modules/user/shippings/interface.ts +0 -57
  213. package/src/modules/user/shippings/route.schema.ts +0 -35
  214. package/src/modules/user/storeOperator/interface.ts +0 -42
  215. package/src/modules/user/storeOperator/route.schema.ts +0 -45
  216. package/src/modules/user/swift/interface.ts +0 -55
  217. package/src/modules/user/swift/route.schema.ts +0 -36
  218. package/src/modules/user/tenant/interface.ts +0 -59
  219. package/src/modules/user/tenant/route.schema.ts +0 -46
  220. package/src/modules/user/theme/interfaces.ts +0 -21
  221. package/src/modules/user/theme/route.schema.ts +0 -19
  222. package/src/modules/user/userPermissions/interface.ts +0 -28
  223. package/src/modules/user/userPermissions/route.schema.ts +0 -12
  224. package/src/modules/user/userPositions/interface.ts +0 -47
  225. package/src/modules/user/userPositions/route.schema.ts +0 -29
  226. package/src/modules/user/userTokens/interface.ts +0 -41
  227. package/src/modules/user/userTokens/route.schema.ts +0 -17
  228. package/src/modules/user/users/interface.ts +0 -177
  229. package/src/modules/user/users/route.schema.ts +0 -58
  230. package/src/modules/user/vehicles/interfaces.ts +0 -31
  231. package/src/modules/user/vehicles/route.schema.ts +0 -17
  232. package/src/modules/user/zipCode/interfaces.ts +0 -27
  233. package/src/modules/user/zipCode/route.schema.ts +0 -26
  234. package/src/modules/view/adminPanel/interfaces.ts +0 -180
  235. package/src/modules/view/errorLog/interfaces.ts +0 -36
  236. package/src/modules/view/errorLog/route.schema.ts +0 -25
  237. package/src/shared/entities/documentManagement.ts +0 -16
  238. package/src/shared/entities/integration.ts +0 -136
  239. package/src/shared/entities/print.ts +0 -49
  240. package/src/shared/entities/stock.ts +0 -1248
  241. package/src/shared/entities/tickets.ts +0 -82
  242. package/src/shared/entities/user.ts +0 -540
  243. package/src/shared/errors/documentManagementErrors.ts +0 -13
  244. package/src/shared/errors/integrationErrors.ts +0 -44
  245. package/src/shared/errors/stockErrors.ts +0 -267
  246. package/src/shared/errors/userErrors.ts +0 -108
  247. package/src/shared/errors/viewErrors.ts +0 -6
  248. package/src/shared/interface.ts +0 -548
  249. package/src/shared/messages.ts +0 -141
  250. package/tsconfig.json +0 -20
  251. package/tsup.config.ts +0 -10
@@ -1,27 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import {
5
- ICheckLinesToReturnRequest,
6
- ICheckLinesToReturnLinesRequest,
7
- checkLinesToReturnOptions,
8
- } from './interface';
9
-
10
- // check lines to return
11
- const checkLinesToReturnLinesKeys: IShared.IRouteRequest<ICheckLinesToReturnLinesRequest> = {
12
- document_line_assoc_id: joi.string().uuid().required(),
13
- document_line_id: joi.string().uuid().required(),
14
- };
15
-
16
- const checkLinesToReturnBodyKeys: IShared.IRouteRequest<ICheckLinesToReturnRequest> = {
17
- option: joi
18
- .string()
19
- .valid(...checkLinesToReturnOptions)
20
- .required(),
21
- lines: joi.array().items(joi.object().keys(checkLinesToReturnLinesKeys).required()).required(),
22
- };
23
-
24
- export const checkLinesToReturnBody = joi
25
- .object()
26
- .keys(checkLinesToReturnBodyKeys)
27
- .messages(messages);
@@ -1,31 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
-
3
- export const Route = 'transformado';
4
- export const UpperName = 'Transformado';
5
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
6
-
7
- export interface IProducts {
8
- id: string;
9
- quantity: number;
10
- }
11
-
12
- export interface ITransformar {
13
- product_id: string;
14
- quantity: number;
15
- price_sale: number;
16
- price_cost: number;
17
- out_products: IProducts[];
18
- }
19
-
20
- export interface IDestransformar {
21
- product_id: string;
22
- quantity: number;
23
- in_products: IProducts[];
24
- }
25
-
26
- export interface IRepository {
27
- transformar(data: ITransformar): Promise<string>;
28
- destransformar(data: IDestransformar): Promise<string>;
29
- }
30
-
31
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,26 +0,0 @@
1
- import joi from 'joi';
2
-
3
- import * as IShared from '../../../shared/interface';
4
- import { messages } from '../../../shared/messages';
5
- import { IProducts, ITransformar, IDestransformar } from './interfaces';
6
-
7
- const productsKeys: IShared.IRouteRequestWithStamps<IProducts> = {
8
- id: joi.string().uuid().required().invalid(joi.ref('/product_id')),
9
- quantity: joi.number().positive().required(),
10
- };
11
-
12
- const transformarKeys: IShared.IRouteRequestWithStamps<ITransformar> = {
13
- product_id: joi.string().uuid().required(),
14
- quantity: joi.number().positive().required(),
15
- price_cost: joi.number().positive().allow(0).required(),
16
- price_sale: joi.number().positive().allow(0).required(),
17
- out_products: joi.array().items(joi.object().keys(productsKeys)).min(1),
18
- };
19
- export const transformarBody = joi.object().keys(transformarKeys).messages(messages);
20
-
21
- const destransformarKeys: IShared.IRouteRequestWithStamps<IDestransformar> = {
22
- product_id: joi.string().uuid().required(),
23
- quantity: joi.number().positive().required(),
24
- in_products: joi.array().items(joi.object().keys(productsKeys)).min(1),
25
- };
26
- export const destransformarBody = joi.object().keys(destransformarKeys).messages(messages);
@@ -1,17 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
-
3
- export const Route = 'upfrontReturn';
4
- export const UpperName = 'UpfrontReturn';
5
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
6
-
7
- export interface ICreateRequest {
8
- current_account: boolean;
9
- }
10
-
11
- export interface IRepository {
12
- create(id: IShared.IFindByIdRequest, body: ICreateRequest): Promise<void>;
13
- }
14
-
15
- export type IController = IShared.IEntityWithUserToken<IRepository>;
16
-
17
- export type IApi = IRepository;
@@ -1,11 +0,0 @@
1
- import joi from 'joi';
2
-
3
- import * as IShared from '../../../shared/interface';
4
- import { messages } from '../../../shared/messages';
5
- import { ICreateRequest } from './interfaces';
6
-
7
- const createBodyKeys: IShared.IRouteRequestWithStamps<ICreateRequest> = {
8
- current_account: joi.boolean().required(),
9
- };
10
-
11
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
@@ -1,22 +0,0 @@
1
- import { Multimedia } from '../../../shared/entities/documentManagement';
2
-
3
- export type Entity = Multimedia;
4
- export const Route = 'multimedia';
5
- export const UpperName = 'Multimedia';
6
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
7
-
8
- export interface IFindByIdRequest {
9
- download?: boolean;
10
- }
11
-
12
- export interface IRepository {
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- create(multipartFormData: any, headers?: any): Promise<Entity>;
15
- findById(multimedia_id: string): Promise<Entity | null>;
16
- }
17
-
18
- export interface IController extends Omit<IRepository, 'findById'> {
19
- findById(multimedia_id: string, params: IFindByIdRequest): Promise<void>;
20
- }
21
-
22
- export type IApi = Omit<IRepository, 'findById'>;
@@ -1,9 +0,0 @@
1
- import joi from 'joi';
2
- import { IFindByIdRequest } from './interfaces';
3
- import * as IShared from '../../../shared/interface';
4
- import { messages } from '../../../shared/messages';
5
-
6
- const findByIdQueryKeys: IShared.IRouteRequest<IFindByIdRequest> = {
7
- download: joi.boolean().optional(),
8
- };
9
- export const findByIdQuery = joi.object().keys(findByIdQueryKeys).messages(messages);
@@ -1,111 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { EmailLog } from '../../../shared/entities/integration';
3
-
4
- export type Entity = EmailLog;
5
- export const Route = 'email_log';
6
- export const UpperName = 'EmailLog';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export interface IFindRequest {
10
- date_start: Date;
11
- date_end: Date;
12
- }
13
-
14
- export interface IFindResponse {
15
- id: string;
16
- template: string;
17
- created_at: Date;
18
- to: string;
19
- subject: string;
20
- sent: boolean;
21
- retried: boolean;
22
- error: string | null;
23
- }
24
-
25
- export interface IEmailAddress {
26
- name: string;
27
- address: string;
28
- }
29
-
30
- export interface IEmailAttachment {
31
- path: string;
32
- filename: string;
33
- }
34
-
35
- export const SendGridCallbackEventEnum: {
36
- open: 'open';
37
- delivered: 'delivered';
38
- click: 'click';
39
- processed: 'processed';
40
- dropped: 'dropped';
41
- deferred: 'deferred';
42
- bounce: 'bounce';
43
- } = {
44
- open: 'open',
45
- delivered: 'delivered',
46
- click: 'click',
47
- processed: 'processed',
48
- dropped: 'dropped',
49
- deferred: 'deferred',
50
- bounce: 'bounce',
51
- };
52
-
53
- export type ISendGridCallbackEvent =
54
- (typeof SendGridCallbackEventEnum)[keyof typeof SendGridCallbackEventEnum];
55
-
56
- export const sendGridCallbackEvents = Object.keys(SendGridCallbackEventEnum);
57
-
58
- export interface ISendGridCallbacks {
59
- email: string;
60
- event: ISendGridCallbackEvent;
61
- event_time: Date;
62
- ip: string | null;
63
- useragent: string | null;
64
- // event dependent
65
- reason: string | null;
66
- type: string | null;
67
- status: string | null;
68
- bounce_classification: string | null;
69
- response: string | null;
70
- url: string | null;
71
- attempt: number | null;
72
- }
73
-
74
- export interface IFindByIdResponse {
75
- id: string;
76
- owner_id: string | null;
77
- chat_id: string | null;
78
- template: string;
79
- created_at: Date;
80
-
81
- sent: boolean;
82
- retried: boolean;
83
- accepted: string[];
84
- rejected: string[];
85
-
86
- from: IEmailAddress;
87
- to: IEmailAddress[];
88
- cc: IEmailAddress[];
89
- bcc: IEmailAddress[];
90
- subject: string;
91
- html: string;
92
- attachments: IEmailAttachment[];
93
-
94
- error: string | null;
95
-
96
- callbacks: ISendGridCallbacks[];
97
- }
98
-
99
- export interface ICheckSent {
100
- document_header_ids: string[];
101
- }
102
- export interface ICheckSentResponse {
103
- [document_header_id: string]: string | null;
104
- }
105
- export interface IRepository {
106
- find(params: IFindRequest): Promise<IFindResponse[]>;
107
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse>;
108
- checkSent(data: ICheckSent): Promise<ICheckSentResponse>;
109
- }
110
-
111
- export type IApi = IRepository;
@@ -1,18 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import { IFindRequest, ICheckSent } from './interfaces';
4
-
5
- export const findQuery = joi
6
- .object<IFindRequest>()
7
- .keys({
8
- date_start: joi.date().required(),
9
- date_end: joi.date().required(),
10
- })
11
- .messages(messages);
12
-
13
- export const checkSentBody = joi
14
- .object<ICheckSent>()
15
- .keys({
16
- document_header_ids: joi.array().items(joi.string().uuid().required()).required(),
17
- })
18
- .messages(messages);
@@ -1,55 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { EmailTemplate, EmailTemplateAttachment } from '../../../shared/entities/integration';
3
- import { IEmailAddress, IEmailAttachment } from '../emailLog/interfaces';
4
-
5
- export type Entity = EmailTemplate;
6
- export const Route = 'email_template';
7
- export const UpperName = 'EmailTemplate';
8
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
9
-
10
- export interface IEntityExtended extends Entity {
11
- attachments: EmailTemplateAttachment[];
12
- }
13
-
14
- export interface ICreateAttachments {
15
- multimedia_id: string;
16
- name: string;
17
- }
18
-
19
- export interface ICreateRequest {
20
- name: string;
21
- to: string;
22
- subject: string;
23
- body: string;
24
- attachments: ICreateAttachments[];
25
- }
26
-
27
- export interface IUpdateRequest {
28
- name?: string;
29
- to?: string;
30
- subject?: string;
31
- body?: string;
32
- }
33
-
34
- export interface ISendRequest {
35
- owner_id: string | null;
36
- from: IEmailAddress;
37
- to: IEmailAddress[];
38
- cc: IEmailAddress[];
39
- bcc: IEmailAddress[];
40
- subject: string;
41
- html: string;
42
- attachments: IEmailAttachment[];
43
- }
44
-
45
- export interface IRepository {
46
- find(): Promise<IEntityExtended[]>;
47
- create(data: ICreateRequest): Promise<string>;
48
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
49
- deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
50
- send(data: ISendRequest): Promise<void>;
51
- }
52
-
53
- export type IController = IShared.IEntityWithUserToken<IRepository>;
54
-
55
- export type IApi = IRepository;
@@ -1,95 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import { ICreateRequest, IUpdateRequest, ISendRequest, ICreateAttachments } from './interfaces';
4
- import * as IShared from '../../../shared/interface';
5
- import { IEmailAddress, IEmailAttachment } from '../emailLog/interfaces';
6
-
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- name: joi.string().required(),
9
- to: joi.string().required(),
10
- subject: joi.string().required(),
11
- body: joi.string().required(),
12
- attachments: joi
13
- .array()
14
- .items(
15
- joi.object<ICreateAttachments>().keys({
16
- multimedia_id: joi.string().uuid().required(),
17
- name: joi.string().required(),
18
- }),
19
- )
20
- .required(),
21
- };
22
-
23
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
24
-
25
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
26
- name: joi.string().optional(),
27
- to: joi.string().optional(),
28
- subject: joi.string().optional(),
29
- body: joi.string().optional(),
30
- };
31
-
32
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
33
-
34
- const sendBodyKeys: IShared.IRouteRequest<ISendRequest> = {
35
- owner_id: joi.string().uuid().allow(null).required(),
36
- from: joi
37
- .object<IEmailAddress>()
38
- .keys({
39
- name: joi.string().allow('', null).default('').required(),
40
- address: joi
41
- .string()
42
- .email({ tlds: { allow: false } })
43
- .required(),
44
- })
45
- .required(),
46
- to: joi
47
- .array()
48
- .items(
49
- joi.object<IEmailAddress>().keys({
50
- name: joi.string().allow('', null).default('').required(),
51
- address: joi
52
- .string()
53
- .email({ tlds: { allow: false } })
54
- .required(),
55
- }),
56
- )
57
- .required(),
58
- cc: joi
59
- .array()
60
- .items(
61
- joi.object<IEmailAddress>().keys({
62
- name: joi.string().allow('', null).default('').required(),
63
- address: joi
64
- .string()
65
- .email({ tlds: { allow: false } })
66
- .required(),
67
- }),
68
- )
69
- .required(),
70
- bcc: joi
71
- .array()
72
- .items(
73
- joi.object<IEmailAddress>().keys({
74
- name: joi.string().allow('', null).default('').required(),
75
- address: joi
76
- .string()
77
- .email({ tlds: { allow: false } })
78
- .required(),
79
- }),
80
- )
81
- .required(),
82
- subject: joi.string().required(),
83
- html: joi.string().required(),
84
- attachments: joi
85
- .array()
86
- .items(
87
- joi.object<IEmailAttachment>().keys({
88
- filename: joi.string().required(),
89
- path: joi.string().required(),
90
- }),
91
- )
92
- .required(),
93
- };
94
-
95
- export const sendBody = joi.object().keys(sendBodyKeys).messages(messages);
@@ -1,22 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { EmailTemplateAttachment } from '../../../shared/entities/integration';
3
-
4
- export type Entity = EmailTemplateAttachment;
5
- export const Route = 'email_template_attachment';
6
- export const UpperName = 'EmailTemplateAttachment';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export interface ICreateRequest {
10
- email_template_id: string;
11
- multimedia_id: string;
12
- name: string;
13
- }
14
-
15
- export interface IRepository {
16
- create(data: ICreateRequest): Promise<string>;
17
- deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
18
- }
19
-
20
- export type IController = IShared.IEntityWithUserToken<IRepository>;
21
-
22
- export type IApi = IRepository;
@@ -1,12 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import { ICreateRequest } from './interfaces';
4
- import * as IShared from '../../../shared/interface';
5
-
6
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
7
- email_template_id: joi.string().uuid().required(),
8
- multimedia_id: joi.string().uuid().required(),
9
- name: joi.string().required(),
10
- };
11
-
12
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
@@ -1,30 +0,0 @@
1
- import { EmailVerification } from '../../../shared/entities/integration';
2
- import * as IShared from '../../../shared/interface';
3
-
4
- export type Entity = EmailVerification;
5
- export const Route = 'email_verification';
6
- export const UpperName = 'EmailVerification';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export interface IIsVerifiedRequest {
10
- email: string;
11
- }
12
-
13
- export interface ISendVerificationRequest {
14
- email: string;
15
- }
16
-
17
- export interface IMarkAsVerifiedRequest {
18
- email: string;
19
- token: string;
20
- }
21
-
22
- export interface IRepository {
23
- isVerified(selector: IIsVerifiedRequest): Promise<boolean>;
24
- sendVerificationEmail(data: ISendVerificationRequest): Promise<void>;
25
- markAsVerified(data: IMarkAsVerifiedRequest): Promise<void>;
26
- }
27
-
28
- export type IController = IShared.IEntityWithUserToken<IRepository>;
29
-
30
- export type IApi = IRepository;
@@ -1,34 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import { IIsVerifiedRequest, ISendVerificationRequest, IMarkAsVerifiedRequest } from './interfaces';
4
-
5
- export const isVerifiedQuery = joi
6
- .object<IIsVerifiedRequest>()
7
- .keys({
8
- email: joi
9
- .string()
10
- .email({ tlds: { allow: false } })
11
- .required(),
12
- })
13
- .messages(messages);
14
-
15
- export const sendVerificationBody = joi
16
- .object<ISendVerificationRequest>()
17
- .keys({
18
- email: joi
19
- .string()
20
- .email({ tlds: { allow: false } })
21
- .required(),
22
- })
23
- .messages(messages);
24
-
25
- export const markAsVerifiedBody = joi
26
- .object<IMarkAsVerifiedRequest>()
27
- .keys({
28
- email: joi
29
- .string()
30
- .email({ tlds: { allow: false } })
31
- .required(),
32
- token: joi.string().uuid().required(),
33
- })
34
- .messages(messages);
@@ -1,32 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { GoogleFilePermission } from '../../../shared/entities/integration';
3
-
4
- export type Entity = GoogleFilePermission;
5
- export const Route = 'google_file_permission';
6
- export const UpperName = 'GoogleFilePermission';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export type IFindRequest = Record<string, unknown>;
10
-
11
- export interface ICreateRequest {
12
- file_id: string;
13
- email: string;
14
- }
15
-
16
- export interface ICreateRequestRepository extends ICreateRequest {
17
- permission_id: string;
18
- }
19
-
20
- export interface IController {
21
- create(data: ICreateRequest): Promise<Entity>;
22
- findById(shared: IShared.IFindByIdRequest): Promise<Entity | null>;
23
- find(): Promise<Entity[]>;
24
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
25
- }
26
-
27
- export interface IRepository {
28
- create(data: ICreateRequestRepository): Promise<Entity>;
29
- findById(shared: IShared.IFindByIdRequest): Promise<Entity | null>;
30
- find(): Promise<Entity[]>;
31
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
32
- }
@@ -1,15 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import { ICreateRequest } from './interfaces';
4
-
5
- import * as IShared from '../../../shared/interface';
6
-
7
- export const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- email: joi
9
- .string()
10
- .email({ tlds: { allow: false } })
11
- .required(),
12
- file_id: joi.string().required(),
13
- };
14
-
15
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
@@ -1,98 +0,0 @@
1
- import { DocumentHeader } from '../../../shared/entities/stock';
2
- import { Persona } from '../../../shared/entities/user';
3
- import * as IShared from '../../../shared/interface';
4
-
5
- export const Route = 'google';
6
- export const UpperName = 'Google';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export interface IGetUserData
10
- extends Pick<
11
- DocumentHeader,
12
- | 'document_number'
13
- | 'owner_number'
14
- | 'billing_persona_nif'
15
- | 'billing_persona_name'
16
- | 'billing_persona_email'
17
- | 'billing_persona_telephone'
18
- | 'billing_persona_address_street'
19
- | 'billing_persona_address_locality'
20
- | 'billing_persona_address_postal_code'
21
- | 'billing_persona_address_country_name'
22
- | 'delivery_persona_name'
23
- | 'delivery_persona_email'
24
- | 'delivery_persona_telephone'
25
- | 'delivery_persona_address_street'
26
- | 'delivery_persona_address_locality'
27
- | 'delivery_persona_address_postal_code'
28
- | 'delivery_persona_address_country_name'
29
- > {
30
- emission_date: string;
31
- store_operator_id: string | null;
32
- store_operator_name: string | null;
33
- store_operator_number: number | null;
34
- reason_for_exemption_name: string | null;
35
- contact_persona_name: Persona['name'];
36
- contact_persona_email: Persona['email'];
37
- contact_persona_telephone: Persona['telephone'];
38
- }
39
-
40
- export interface IUpdateRequest {
41
- document_name: string;
42
- client_data?: IGetUserData;
43
- }
44
- export interface ICloneRequest {
45
- document_name: string;
46
- }
47
-
48
- export interface ICloneResponse {
49
- spreadsheetId: string;
50
- }
51
-
52
- export type IGetProductGroup =
53
- | 'cortinado'
54
- | 'tapete'
55
- | 'estore'
56
- | 'estofo'
57
- | 'almofada'
58
- | 'outros'
59
- | 'calhas&varões'
60
- | 'papel'
61
- | 'varoes'
62
- | 'terceiros';
63
-
64
- export type IGetProductType =
65
- | 'confecção'
66
- | 'calha'
67
- | 'tecido 1'
68
- | 'tecido 2'
69
- | 'varoes'
70
- | 'livre'
71
- | 'papel';
72
-
73
- export interface IGetProduct {
74
- index: number; // line index in sheet's config tab
75
- group: IGetProductGroup;
76
- type: IGetProductType;
77
- quantity: number;
78
- reference: string;
79
- designation: string;
80
- discount: number;
81
- price_sale: number;
82
- price_cost: number;
83
- }
84
- export interface IGetDataResponse {
85
- products: IGetProduct[];
86
- }
87
-
88
- export interface IExportRequest {
89
- spreadsheetId: string;
90
- document_header_id: string;
91
- }
92
-
93
- export interface IController {
94
- clone(params: IShared.IFindByIdRequest, data?: ICloneRequest): Promise<ICloneResponse>;
95
- export(params: IExportRequest): Promise<string>;
96
- getData(params: IShared.IFindByIdRequest): Promise<IGetDataResponse>;
97
- update(params: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
98
- }