@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,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
- }