@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,31 +0,0 @@
1
- export const Route = 'chat_rapid_message';
2
- export const UpperName = 'ChatRapidMessage';
3
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
4
- import { ChatRapidMessage } from '../../../shared/entities/stock';
5
- import * as IShared from '../../../shared/interface';
6
-
7
- export type Entity = ChatRapidMessage;
8
-
9
- export interface ICreateRequest {
10
- title: string;
11
- message: string;
12
- }
13
-
14
- export interface IUpdateRequest {
15
- title?: string;
16
- message?: string;
17
- }
18
-
19
- export interface IFindMinifiedResponse {
20
- id: string;
21
- title: string;
22
- }
23
- export interface IRepository {
24
- create(data: ICreateRequest): Promise<Entity>;
25
- findMinified(): Promise<IFindMinifiedResponse[]>;
26
- findById(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
27
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
28
- delete(selector: IShared.IFindByIdRequest): Promise<void>;
29
- }
30
-
31
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,18 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { ICreateRequest, IUpdateRequest } from './interface';
5
-
6
- // create body validation
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- title: joi.string().required(),
9
- message: joi.string().required(),
10
- };
11
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
12
-
13
- // update body validation
14
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
15
- title: joi.string().optional(),
16
- message: joi.string().optional(),
17
- };
18
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
@@ -1,25 +0,0 @@
1
- export const Route = 'dashboard';
2
- export const UpperName = 'Dashboard';
3
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
4
-
5
- export type IDashboardNames = 'dia' | 'mes' | 'ano';
6
-
7
- export interface IData {
8
- chave: number;
9
- faturaRecibo: number;
10
- fatura: number;
11
- adiantamento: number;
12
- }
13
-
14
- export interface IDashboardResponse {
15
- id: number;
16
- name: string;
17
- data: IData[];
18
- }
19
- export interface IFindDashboardByDate {
20
- date: Date;
21
- name: IDashboardNames;
22
- }
23
- export interface IRepository {
24
- findByDate(selector: IFindDashboardByDate): Promise<IDashboardResponse>;
25
- }
@@ -1,11 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { IFindDashboardByDate } from './interface';
5
-
6
- // create body validation
7
- const findByDateKeys: IShared.IRouteRequest<IFindDashboardByDate> = {
8
- date: joi.date().required(),
9
- name: joi.string().valid('dia', 'mes', 'ano').required(),
10
- };
11
- export const findByDateParams = joi.object().keys(findByDateKeys).messages(messages);
@@ -1,37 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { File } from '../../../shared/entities/stock';
3
-
4
- export type Entity = File;
5
- export const Route = 'file';
6
- export const UpperName = 'File';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- export interface IFindByOwnerRequest {
10
- owner_id: string;
11
- tags?: string;
12
- shared_only: boolean;
13
- }
14
-
15
- export interface ICreateRequest {
16
- title: string;
17
- owner_id: string;
18
- document_header_id: string | null;
19
- multimedia_id: string;
20
- filename: string;
21
- is_customer?: boolean;
22
- is_private: boolean;
23
- tags: string;
24
- username: string;
25
- }
26
-
27
- export interface IUpdateRequest {
28
- document_header_id?: string;
29
- filename?: string;
30
- }
31
-
32
- export interface IRepository {
33
- findByOwnerId(params: IFindByOwnerRequest): Promise<Entity[]>;
34
- create(data: ICreateRequest): Promise<Entity>;
35
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<void>;
36
- deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
37
- }
@@ -1,37 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { ICreateRequest, IFindByOwnerRequest, type IUpdateRequest } from './interface';
5
-
6
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
7
- title: joi.string().required(),
8
- owner_id: joi.string().uuid().required(),
9
- document_header_id: joi.string().uuid().allow(null).required(),
10
- multimedia_id: joi.string().uuid().required(),
11
- filename: joi.string().required(),
12
- is_customer: joi.boolean().default(false).optional(),
13
- is_private: joi.boolean().required(),
14
- tags: joi.string().allow('').empty('').required(),
15
- username: joi.string().required(),
16
- };
17
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
18
-
19
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
20
- document_header_id: joi.string().uuid().optional(),
21
- filename: joi
22
- .string()
23
- .min(1)
24
- .max(255)
25
- .regex(/^[^<>:"/\\|?*\x00-\x1F]+$/)
26
- .optional(),
27
- };
28
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
29
-
30
- export const findByOwnerIdQuery = joi
31
- .object<IFindByOwnerRequest>()
32
- .keys({
33
- owner_id: joi.string().uuid().required(),
34
- tags: joi.string().optional(),
35
- shared_only: joi.boolean().required(),
36
- })
37
- .messages(messages);
@@ -1,77 +0,0 @@
1
- import * as IShared from '../../../shared/interface';
2
- import { Location, TypeOfLocation } from '../../../shared/entities/stock';
3
-
4
- export type Entity = Location;
5
- export const Route = 'location';
6
- export const UpperName = 'Location';
7
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
8
-
9
- interface IFindDetailedResponse extends Entity {
10
- type_of_location: TypeOfLocation;
11
- }
12
-
13
- // omit any unnecessary fields
14
- export type IFindByIdResponse = Omit<IFindDetailedResponse, 'type_of_location'>;
15
-
16
- // omit any unnecessary fields
17
- export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, 'type_of_location'>;
18
-
19
- export type IFindRequest = Record<string, unknown>;
20
-
21
- // omit any unnecessary fields
22
- export type IFindResponse = Omit<IFindDetailedResponse, ''>;
23
-
24
- export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
25
-
26
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<
27
- Omit<IFindDetailedResponse, 'type_of_location'>
28
- >;
29
-
30
- export interface ICreateRequest {
31
- // create fields
32
- name: string;
33
- street: string;
34
- country_id: string;
35
- country_name: string;
36
- locality: string;
37
- postal_code: string;
38
- type_of_location_id: string;
39
- geolocation?: {
40
- lat: number;
41
- lon: number;
42
- };
43
- default_billing?: boolean;
44
- default_delivery?: boolean;
45
- }
46
-
47
- export interface IUpdateRequest {
48
- // updatable fields
49
- name?: string;
50
- street?: string;
51
- locality?: string;
52
- country_id?: string;
53
- country_name?: string;
54
- postal_code?: string;
55
- type_of_location_id?: string;
56
- geolocation?: {
57
- lat?: number;
58
- lon?: number;
59
- };
60
- default_billing?: boolean;
61
- default_delivery?: boolean;
62
- }
63
-
64
- export interface IRepository {
65
- findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
66
-
67
- findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
68
- findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
69
- find(selector: IFindRequest): Promise<IFindResponse[]>;
70
- findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
71
-
72
- create(data: ICreateRequest): Promise<IFindResponse>;
73
- update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindResponse | null>;
74
- deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindResponse | null>;
75
- }
76
-
77
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,57 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import { IFindRequest, IFindPaginatedRequest, ICreateRequest, IUpdateRequest } from './interface';
5
-
6
- // create body validation
7
- const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
8
- name: joi.string().required(),
9
- type_of_location_id: joi.string().uuid().required(),
10
- country_id: joi.string().uuid().required(),
11
- country_name: joi.string().required(),
12
- geolocation: joi
13
- .object({
14
- lat: joi.number().required(),
15
- lon: joi.number().required(),
16
- })
17
- .optional(),
18
- street: joi.string().required(),
19
- locality: joi.string().required(),
20
- postal_code: joi.string().trim(true).lowercase().required(),
21
- default_billing: joi.boolean(),
22
- default_delivery: joi.boolean(),
23
- };
24
- export const createBody = joi.object().keys(createBodyKeys).messages(messages);
25
-
26
- // update body validation
27
- const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
28
- name: joi.string().optional(),
29
- type_of_location_id: joi.string().uuid().optional(),
30
- country_id: joi.string().uuid().optional(),
31
- country_name: joi.string().optional(),
32
- geolocation: joi
33
- .object({
34
- lat: joi.number().required(),
35
- lon: joi.number().required(),
36
- })
37
- .optional(),
38
- street: joi.string().optional(),
39
- locality: joi.string().optional(),
40
- postal_code: joi.string().trim(true).lowercase().optional(),
41
- default_billing: joi.boolean(),
42
- default_delivery: joi.boolean(),
43
- };
44
- export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
45
-
46
- const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
47
- export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
48
-
49
- // find with pagination query validation
50
- const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
51
- per_page: joi.number().integer().positive().default(10).optional(),
52
- current_page: joi.number().integer().positive().default(1).optional(),
53
- };
54
- export const findWithPaginationQuery = joi
55
- .object()
56
- .keys(findWithPaginationQueryKeys)
57
- .messages(messages);
@@ -1,70 +0,0 @@
1
- import { DocumentLineNote } from '../../../shared/entities/stock';
2
- import * as IShared from '../../../shared/interface';
3
-
4
- export const Route = 'prison';
5
- export const UpperName = 'Prison';
6
- export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
7
-
8
- export interface IFindLinesInPrisonResponse {
9
- id: string;
10
- quantity: number;
11
- preco_custo: number;
12
- id_provider: number;
13
- product: {
14
- id: string;
15
- thumbnail_multimedia_id: string | null;
16
- virtual: {
17
- designation: string;
18
- reference: string;
19
- };
20
- };
21
- notes: DocumentLineNote[];
22
- updated_by: string;
23
- updated_at: Date;
24
- }
25
-
26
- export const checkLineInPrisonOptions = ['Desprender', 'Quebrar', 'Devolver a fornecedor'] as const;
27
-
28
- export type ICheckLineInPrisonOptions = (typeof checkLineInPrisonOptions)[number];
29
-
30
- export interface ICheckLinesInPrisonLinesRequest {
31
- document_line_id: string;
32
- }
33
-
34
- export interface ICheckLinesInPrisonRequest {
35
- option: ICheckLineInPrisonOptions;
36
- lines: ICheckLinesInPrisonLinesRequest[];
37
- }
38
-
39
- export interface ICreateLinesInPrisonProduct {
40
- id: string;
41
- quantity: number;
42
- note?: string;
43
- }
44
-
45
- export interface ICreateLinesInPrisonRequest {
46
- products: ICreateLinesInPrisonProduct[];
47
- createProviderReturn: boolean;
48
- }
49
-
50
- export interface IRepository {
51
- findLinesInPrison(): Promise<IFindLinesInPrisonResponse[]>;
52
-
53
- findLinesInPrisonProviders(): Promise<IShared.IFindMinifiedResponse[]>;
54
-
55
- putLineInPrison(params: IShared.IFindByIdRequest): Promise<void>;
56
-
57
- removeLineFromPrison(params: IShared.IFindByIdRequest): Promise<void>;
58
-
59
- checkLinesInPrison(
60
- params: ICheckLinesInPrisonRequest,
61
- ): Promise<IShared.IBrokerMessage<IShared.IBrokerTopic>[]>;
62
-
63
- createLinesInPrison(params: ICreateLinesInPrisonRequest): Promise<string[]>;
64
- }
65
-
66
- export type IApi = Omit<IRepository, 'checkLinesInPrison'> & {
67
- checkLinesInPrison(params: ICheckLinesInPrisonRequest): Promise<void>;
68
- };
69
-
70
- export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -1,50 +0,0 @@
1
- import joi from 'joi';
2
- import { messages } from '../../../shared/messages';
3
- import * as IShared from '../../../shared/interface';
4
- import {
5
- ICheckLinesInPrisonLinesRequest,
6
- ICheckLinesInPrisonRequest,
7
- ICreateLinesInPrisonProduct,
8
- ICreateLinesInPrisonRequest,
9
- checkLineInPrisonOptions,
10
- } from './interface';
11
-
12
- // check lines in prison
13
- const checkLinesInPrisonLinesBodyKeys: IShared.IRouteRequest<ICheckLinesInPrisonLinesRequest> = {
14
- document_line_id: joi.string().uuid().required(),
15
- };
16
- const checkLinesInPrisonBodyKeys: IShared.IRouteRequest<ICheckLinesInPrisonRequest> = {
17
- option: joi
18
- .string()
19
- .valid(...checkLineInPrisonOptions)
20
- .required(),
21
- lines: joi
22
- .array()
23
- .items(joi.object().keys(checkLinesInPrisonLinesBodyKeys).required())
24
- .required(),
25
- };
26
-
27
- export const checkLinesInPrisonBody = joi
28
- .object()
29
- .keys(checkLinesInPrisonBodyKeys)
30
- .messages(messages);
31
-
32
- export const createLinesInPrisonBody = joi
33
- .object<ICreateLinesInPrisonRequest>()
34
- .keys({
35
- createProviderReturn: joi.boolean().required(),
36
- products: joi
37
- .array()
38
- .items(
39
- joi
40
- .object<ICreateLinesInPrisonProduct>()
41
- .keys({
42
- id: joi.string().uuid().required(),
43
- quantity: joi.number().positive().required(),
44
- note: joi.string().optional(),
45
- })
46
- .required(),
47
- )
48
- .required(),
49
- })
50
- .required();