@fiado/type-kit 3.584.0 → 3.585.0
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.
- package/_test_/unit/platformRbac/dtos/UpdateTenantUserEmailRequest.test.ts +24 -0
- package/_test_/unit/platformRbac/enums/__snapshots__/permissionBits.test.ts.snap +2 -1
- package/_test_/unit/platformRbac/enums/apiUserPermission.test.ts +3 -2
- package/_test_/unit/platformRbac/enums/retailIntegrationPermission.test.ts +13 -0
- package/_test_/unit/retailIntegration/reconciliationContracts.test.ts +3 -3
- package/_test_/unit/retailIntegration/retailMovementsContracts.test.ts +109 -0
- package/_test_/unit/retailIntegration/retailSystemResponses.test.ts +120 -0
- package/bin/platformRbac/dtos/CreateTenantUserRequest.d.ts +2 -1
- package/bin/platformRbac/dtos/CreateTenantUserRequest.js +2 -1
- package/bin/platformRbac/dtos/UpdateTenantUserEmailRequest.d.ts +5 -0
- package/bin/platformRbac/dtos/UpdateTenantUserEmailRequest.js +30 -0
- package/bin/platformRbac/enums/Permission.d.ts +2 -1
- package/bin/platformRbac/enums/Permission.js +3 -0
- package/bin/platformRbac/index.d.ts +1 -0
- package/bin/platformRbac/index.js +1 -0
- package/bin/retailIntegration/constants/retailIntegrationLimits.d.ts +11 -0
- package/bin/retailIntegration/constants/retailIntegrationLimits.js +12 -1
- package/bin/retailIntegration/dtos/CheckRetailInventoryRequest.d.ts +4 -1
- package/bin/retailIntegration/dtos/CheckRetailInventoryRequest.js +4 -1
- package/bin/retailIntegration/dtos/GetRetailInventoryRequest.d.ts +3 -3
- package/bin/retailIntegration/dtos/GetRetailInventoryRequest.js +3 -3
- package/bin/retailIntegration/dtos/ListRetailInventoryMovementsRequest.d.ts +6 -0
- package/bin/retailIntegration/dtos/ListRetailInventoryMovementsRequest.js +29 -0
- package/bin/retailIntegration/dtos/ReconciliationPageMessage.d.ts +6 -0
- package/bin/retailIntegration/dtos/ReconciliationPageMessage.js +20 -0
- package/bin/retailIntegration/dtos/RetailOutboundResponses.d.ts +10 -2
- package/bin/retailIntegration/dtos/RetailSystemResponses.d.ts +41 -0
- package/bin/retailIntegration/dtos/RetailSystemResponses.js +136 -0
- package/bin/retailIntegration/enums/ReconciliationEntityEnum.d.ts +2 -1
- package/bin/retailIntegration/enums/ReconciliationEntityEnum.js +1 -0
- package/bin/retailIntegration/enums/ReconciliationTriggerEnum.d.ts +4 -2
- package/bin/retailIntegration/enums/ReconciliationTriggerEnum.js +3 -1
- package/bin/retailIntegration/index.d.ts +3 -0
- package/bin/retailIntegration/index.js +3 -0
- package/bin/retailIntegration/models/RetailPageMeta.d.ts +3 -1
- package/bin/retailIntegration/models/RetailSystemInventory.d.ts +9 -1
- package/bin/retailIntegration/validators/IsMovementsRangeValid.d.ts +6 -0
- package/bin/retailIntegration/validators/IsMovementsRangeValid.js +28 -0
- package/package.json +1 -1
- package/src/platformRbac/dtos/CreateTenantUserRequest.ts +2 -1
- package/src/platformRbac/dtos/UpdateTenantUserEmailRequest.ts +12 -0
- package/src/platformRbac/enums/Permission.ts +3 -0
- package/src/platformRbac/index.ts +1 -0
- package/src/retailIntegration/constants/retailIntegrationLimits.ts +16 -0
- package/src/retailIntegration/dtos/CheckRetailInventoryRequest.ts +4 -1
- package/src/retailIntegration/dtos/GetRetailInventoryRequest.ts +3 -3
- package/src/retailIntegration/dtos/ListRetailInventoryMovementsRequest.ts +14 -0
- package/src/retailIntegration/dtos/ReconciliationPageMessage.ts +21 -1
- package/src/retailIntegration/dtos/RetailOutboundResponses.ts +11 -2
- package/src/retailIntegration/dtos/RetailSystemResponses.ts +75 -0
- package/src/retailIntegration/enums/ReconciliationEntityEnum.ts +1 -0
- package/src/retailIntegration/enums/ReconciliationTriggerEnum.ts +3 -1
- package/src/retailIntegration/index.ts +3 -0
- package/src/retailIntegration/models/RetailPageMeta.ts +3 -1
- package/src/retailIntegration/models/RetailSystemInventory.ts +10 -1
- package/src/retailIntegration/validators/IsMovementsRangeValid.ts +17 -0
|
@@ -4,8 +4,10 @@ export interface RetailPageMeta {
|
|
|
4
4
|
nextToken: string | null;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
/** `meta` del inventario de una tienda. */
|
|
7
|
+
/** `meta` del inventario de una tienda; `count` y `nextToken` llegan cuando la lectura pagina. */
|
|
8
8
|
export interface RetailInventoryMeta {
|
|
9
9
|
storeId: string;
|
|
10
10
|
generatedAt: string;
|
|
11
|
+
count?: number;
|
|
12
|
+
nextToken?: string | null;
|
|
11
13
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { InventoryEventPayload } from '../dtos/InventoryEventPayload';
|
|
2
|
+
import { InventoryEventTypeEnum, RetailPieceReasonEnum, RetailPieceStatusEnum } from '../enums';
|
|
2
3
|
|
|
3
4
|
export type RetailPieceStatus = `${RetailPieceStatusEnum}`;
|
|
4
5
|
export type RetailPieceReason = `${RetailPieceReasonEnum}`;
|
|
@@ -18,3 +19,11 @@ export interface RetailSystemStock {
|
|
|
18
19
|
storeId: string;
|
|
19
20
|
qty: number;
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
/** Movimiento de inventario de Zentral: el mismo sobre que llega a `POST /webhooks/inventory`. */
|
|
24
|
+
export interface RetailSystemInventoryMovement {
|
|
25
|
+
eventId: string;
|
|
26
|
+
eventType: `${InventoryEventTypeEnum}`;
|
|
27
|
+
occurredAt: string;
|
|
28
|
+
payload: InventoryEventPayload;
|
|
29
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ValidationArguments, ValidatorConstraint, ValidatorConstraintInterface } from 'class-validator';
|
|
2
|
+
import { RETAIL_MOVEMENTS_RANGE_MAX_MS } from '../constants/retailIntegrationLimits';
|
|
3
|
+
|
|
4
|
+
/** `to`: mayor que `from` y a lo más 7 días después; sin `from` legible lo rechaza su propio validador. */
|
|
5
|
+
@ValidatorConstraint({ name: 'isMovementsRangeValid', async: false })
|
|
6
|
+
export class IsMovementsRangeValid implements ValidatorConstraintInterface {
|
|
7
|
+
validate(value: unknown, args: ValidationArguments): boolean {
|
|
8
|
+
const from = Date.parse(String((args.object as { from?: unknown }).from));
|
|
9
|
+
const to = Date.parse(String(value));
|
|
10
|
+
if (Number.isNaN(from) || Number.isNaN(to)) return true;
|
|
11
|
+
return to > from && to - from <= RETAIL_MOVEMENTS_RANGE_MAX_MS;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
defaultMessage(): string {
|
|
15
|
+
return 'to debe ser mayor que from y a lo más 7 días después';
|
|
16
|
+
}
|
|
17
|
+
}
|