@fiado/api-invoker 5.144.0 → 5.146.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/bin/index.d.ts +1 -0
- package/bin/index.js +1 -0
- package/bin/motosafeConnector/api/MotosafeConnectorApi.d.ts +17 -0
- package/bin/motosafeConnector/api/MotosafeConnectorApi.js +50 -0
- package/bin/motosafeConnector/api/interfaces/IMotosafeConnectorApi.d.ts +19 -0
- package/bin/motosafeConnector/api/interfaces/IMotosafeConnectorApi.js +1 -0
- package/bin/motosafeConnector/index.d.ts +2 -0
- package/bin/motosafeConnector/index.js +2 -0
- package/bin/platformRbac/api/PlatformRbacBusinessApi.d.ts +3 -1
- package/bin/platformRbac/api/PlatformRbacBusinessApi.js +5 -0
- package/bin/platformRbac/api/interfaces/IPlatformRbacBusinessApi.d.ts +3 -1
- package/bin/retailIntegration/api/RetailIntegrationConnectorApi.d.ts +3 -1
- package/bin/retailIntegration/api/RetailIntegrationConnectorApi.js +12 -0
- package/bin/retailIntegration/api/interfaces/IRetailIntegrationConnectorApi.d.ts +8 -3
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/motosafeConnector/api/MotosafeConnectorApi.ts +73 -0
- package/src/motosafeConnector/api/interfaces/IMotosafeConnectorApi.ts +57 -0
- package/src/motosafeConnector/index.ts +2 -0
- package/src/platformRbac/api/PlatformRbacBusinessApi.ts +11 -0
- package/src/platformRbac/api/interfaces/IPlatformRbacBusinessApi.ts +8 -0
- package/src/retailIntegration/api/RetailIntegrationConnectorApi.ts +17 -0
- package/src/retailIntegration/api/interfaces/IRetailIntegrationConnectorApi.ts +12 -2
package/bin/index.d.ts
CHANGED
|
@@ -127,6 +127,7 @@ export * from "./domain-callback/index.js";
|
|
|
127
127
|
export * from "./datacultrConnector/index.js";
|
|
128
128
|
export * from "./webhook-business/index.js";
|
|
129
129
|
export * from "./trustonicConnector/index.js";
|
|
130
|
+
export * from "./motosafeConnector/index.js";
|
|
130
131
|
export * from "./rewards-business/index.js";
|
|
131
132
|
export * from "./rewards-eligibility-business/index.js";
|
|
132
133
|
export * from "./rules-business/index.js";
|
package/bin/index.js
CHANGED
|
@@ -127,6 +127,7 @@ export * from "./domain-callback/index.js";
|
|
|
127
127
|
export * from "./datacultrConnector/index.js";
|
|
128
128
|
export * from "./webhook-business/index.js";
|
|
129
129
|
export * from "./trustonicConnector/index.js";
|
|
130
|
+
export * from "./motosafeConnector/index.js";
|
|
130
131
|
export * from "./rewards-business/index.js";
|
|
131
132
|
export * from "./rewards-eligibility-business/index.js";
|
|
132
133
|
export * from "./rules-business/index.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
|
+
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
3
|
+
import { DeviceEnrollInitiateResponse, DeviceEnrollRequest, DeviceLockRequest, DeviceLockResponse, DeviceNotifyRequest, DeviceNotifyResponse, DeviceReleaseInitiateResponse, DeviceReleaseRequest, DeviceReleaseStatusRequest, DeviceReleaseStatusResponse, DeviceStatusRequest, DeviceStatusResponse, DeviceUnlockRequest, DeviceUnlockResponse } from "@fiado/type-kit/bin/mdm/index.js";
|
|
4
|
+
import { DeviceBatchRequest, DeviceBatchResult } from "../../utils/MdmEnvelopes.js";
|
|
5
|
+
import { IMotosafeConnectorApi } from "./interfaces/IMotosafeConnectorApi.js";
|
|
6
|
+
export default class MotosafeConnectorApi implements IMotosafeConnectorApi {
|
|
7
|
+
private httpRequest;
|
|
8
|
+
private readonly baseUrl;
|
|
9
|
+
constructor(httpRequest: IHttpRequest);
|
|
10
|
+
enrollDevices(input: DeviceBatchRequest<DeviceEnrollRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceEnrollInitiateResponse>>>;
|
|
11
|
+
getStatus(input: DeviceBatchRequest<DeviceStatusRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceStatusResponse>>>;
|
|
12
|
+
lockDevices(input: DeviceBatchRequest<DeviceLockRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceLockResponse>>>;
|
|
13
|
+
unlockDevices(input: DeviceBatchRequest<DeviceUnlockRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceUnlockResponse>>>;
|
|
14
|
+
releaseDevices(input: DeviceBatchRequest<DeviceReleaseRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseInitiateResponse>>>;
|
|
15
|
+
releaseStatus(input: DeviceBatchRequest<DeviceReleaseStatusRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseStatusResponse>>>;
|
|
16
|
+
notifyDevices(input: DeviceBatchRequest<DeviceNotifyRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceNotifyResponse>>>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject, injectable } from "inversify";
|
|
14
|
+
// Publisher HTTP de `motosafe-connector`. El consumidor define
|
|
15
|
+
// MOTOSAFE_CONNECTOR_URL: '{{resolve:ssm:motosafe-connector}}' en su template.yml.
|
|
16
|
+
let MotosafeConnectorApi = class MotosafeConnectorApi {
|
|
17
|
+
httpRequest;
|
|
18
|
+
// El buildspec publica la URL en SSM con "/" final; se normaliza para no armar "//devices".
|
|
19
|
+
baseUrl = (process.env.MOTOSAFE_CONNECTOR_URL || "").replace(/\/+$/, "");
|
|
20
|
+
constructor(httpRequest) {
|
|
21
|
+
this.httpRequest = httpRequest;
|
|
22
|
+
}
|
|
23
|
+
async enrollDevices(input) {
|
|
24
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/enroll`, input);
|
|
25
|
+
}
|
|
26
|
+
async getStatus(input) {
|
|
27
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/status`, input);
|
|
28
|
+
}
|
|
29
|
+
async lockDevices(input) {
|
|
30
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/lock`, input);
|
|
31
|
+
}
|
|
32
|
+
async unlockDevices(input) {
|
|
33
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/unlock`, input);
|
|
34
|
+
}
|
|
35
|
+
async releaseDevices(input) {
|
|
36
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/release`, input);
|
|
37
|
+
}
|
|
38
|
+
async releaseStatus(input) {
|
|
39
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/release/status`, input);
|
|
40
|
+
}
|
|
41
|
+
async notifyDevices(input) {
|
|
42
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/notify`, input);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
MotosafeConnectorApi = __decorate([
|
|
46
|
+
injectable(),
|
|
47
|
+
__param(0, inject("IHttpRequest")),
|
|
48
|
+
__metadata("design:paramtypes", [Object])
|
|
49
|
+
], MotosafeConnectorApi);
|
|
50
|
+
export default MotosafeConnectorApi;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
|
+
import { DeviceEnrollInitiateResponse, DeviceEnrollRequest, DeviceLockRequest, DeviceLockResponse, DeviceNotifyRequest, DeviceNotifyResponse, DeviceReleaseInitiateResponse, DeviceReleaseRequest, DeviceReleaseStatusRequest, DeviceReleaseStatusResponse, DeviceStatusRequest, DeviceStatusResponse, DeviceUnlockRequest, DeviceUnlockResponse } from "@fiado/type-kit/bin/mdm/index.js";
|
|
3
|
+
import { DeviceBatchRequest, DeviceBatchResult } from "../../../utils/MdmEnvelopes.js";
|
|
4
|
+
export interface IMotosafeConnectorApi {
|
|
5
|
+
/** POST `/devices/enroll` — registra cada IMEI; responde `PENDING` sin `pollingHandle` (se concilia por estado). */
|
|
6
|
+
enrollDevices(input: DeviceBatchRequest<DeviceEnrollRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceEnrollInitiateResponse>>>;
|
|
7
|
+
/** POST `/devices/status` — estado aplicado de cada IMEI; `UNKNOWN` si la orden aún no llega al equipo. */
|
|
8
|
+
getStatus(input: DeviceBatchRequest<DeviceStatusRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceStatusResponse>>>;
|
|
9
|
+
/** POST `/devices/lock` — bloqueo inmediato, sin mensaje en pantalla. */
|
|
10
|
+
lockDevices(input: DeviceBatchRequest<DeviceLockRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceLockResponse>>>;
|
|
11
|
+
/** POST `/devices/unlock` — desbloqueo inmediato; rechaza `unlockUntil` (solo ONDEMAND). */
|
|
12
|
+
unlockDevices(input: DeviceBatchRequest<DeviceUnlockRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceUnlockResponse>>>;
|
|
13
|
+
/** POST `/devices/release` — libera cada IMEI; responde `PENDING` y se confirma con `releaseStatus`. */
|
|
14
|
+
releaseDevices(input: DeviceBatchRequest<DeviceReleaseRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseInitiateResponse>>>;
|
|
15
|
+
/** POST `/devices/release/status` — `SUCCESS` solo si el estado indica liberación; sin `pollingHandle`. */
|
|
16
|
+
releaseStatus(input: DeviceBatchRequest<DeviceReleaseStatusRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseStatusResponse>>>;
|
|
17
|
+
/** POST `/devices/notify` — aviso en pantalla; título ≤ 30 y contenido ≤ 100 caracteres. */
|
|
18
|
+
notifyDevices(input: DeviceBatchRequest<DeviceNotifyRequest>): Promise<StandardResponse<DeviceBatchResult<DeviceNotifyResponse>>>;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { APIGatewayProxyResultBody, ApiGatewayResponse, ResolvedPermissions, ResolveInput } from "@fiado/gateway-adapter";
|
|
3
|
-
import { DefineNextChallengeRequest, DefineNextChallengeResponse, PrepareChallengeRequest, PrepareChallengeResponse, VerifyChallengeRequest, VerifyChallengeResponse, AuthorizeRequest, AuthorizeResponse, EffectivePermissionsResponse, InjectableUserAttributesResponse, PermissionScope, CreateLevelEntityRequest, CreateLevelEntityResponse, CreateTenantUserRequest, CreateTenantUserResponse, UserProfileResponse, ListLevelEntitiesResponse, LevelEntityResponse, UpdateLevelEntityRequest, DeleteLevelEntityRequest, DeleteLevelEntityResponse, ListTenantUsersResponse, GetTenantUserResponse, TenantUserResponse, TenantUserAckResponse, UpdateTenantUserRequest, DeleteTenantUserRequest, DisableTenantUserRequest, EnableTenantUserRequest, ResetTenantUserPasswordRequest, ResetTenantUserPasswordResponse, ResetTenantUserMfaRequest, ListTenantRolesResponse, AssignTenantRoleRequest, AssignTenantRoleResponse, RevokeTenantRoleRequest, RevokeTenantRoleResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
3
|
+
import { DefineNextChallengeRequest, DefineNextChallengeResponse, PrepareChallengeRequest, PrepareChallengeResponse, VerifyChallengeRequest, VerifyChallengeResponse, AuthorizeRequest, AuthorizeResponse, EffectivePermissionsResponse, InjectableUserAttributesResponse, PermissionScope, CreateLevelEntityRequest, CreateLevelEntityResponse, CreateTenantUserRequest, CreateTenantUserResponse, UserProfileResponse, ListLevelEntitiesResponse, LevelEntityResponse, UpdateLevelEntityRequest, DeleteLevelEntityRequest, DeleteLevelEntityResponse, ListTenantUsersResponse, GetTenantUserResponse, TenantUserResponse, TenantUserAckResponse, UpdateTenantUserRequest, UpdateTenantUserEmailRequest, DeleteTenantUserRequest, DisableTenantUserRequest, EnableTenantUserRequest, ResetTenantUserPasswordRequest, ResetTenantUserPasswordResponse, ResetTenantUserMfaRequest, ListTenantRolesResponse, AssignTenantRoleRequest, AssignTenantRoleResponse, RevokeTenantRoleRequest, RevokeTenantRoleResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
4
4
|
import type { TenantUsersBySubsResponse, RoleAssignmentsByScopeRefsResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
5
5
|
import { IPlatformRbacBusinessApi } from "./interfaces/IPlatformRbacBusinessApi.js";
|
|
6
6
|
/**
|
|
@@ -55,6 +55,8 @@ export default class PlatformRbacBusinessApi implements IPlatformRbacBusinessApi
|
|
|
55
55
|
getTenantUser(tenantId: string, cognitoSub: string): Promise<APIGatewayProxyResultBody<GetTenantUserResponse>>;
|
|
56
56
|
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub} — renombra a un usuario. */
|
|
57
57
|
updateTenantUser(tenantId: string, cognitoSub: string, input: UpdateTenantUserRequest): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
58
|
+
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub}/email — cambia el correo de un usuario. */
|
|
59
|
+
updateTenantUserEmail(tenantId: string, cognitoSub: string, input: UpdateTenantUserEmailRequest): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
58
60
|
/** DELETE /internal/tenants/{tenantId}/users/{cognitoSub} — borra a un usuario. El `actedBy` viaja en el cuerpo. */
|
|
59
61
|
deleteTenantUser(tenantId: string, cognitoSub: string, input: DeleteTenantUserRequest): Promise<APIGatewayProxyResultBody<TenantUserAckResponse>>;
|
|
60
62
|
/** POST /internal/tenants/{tenantId}/users/{cognitoSub}/disable — suspende a un usuario. */
|
|
@@ -143,6 +143,11 @@ let PlatformRbacBusinessApi = class PlatformRbacBusinessApi {
|
|
|
143
143
|
const url = `${this._tenantUsersUrl(tenantId)}/${encodeURIComponent(cognitoSub)}`;
|
|
144
144
|
return await this.httpRequest.put(url, input);
|
|
145
145
|
}
|
|
146
|
+
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub}/email — cambia el correo de un usuario. */
|
|
147
|
+
async updateTenantUserEmail(tenantId, cognitoSub, input) {
|
|
148
|
+
const url = `${this._tenantUsersUrl(tenantId)}/${encodeURIComponent(cognitoSub)}/email`;
|
|
149
|
+
return await this.httpRequest.put(url, input);
|
|
150
|
+
}
|
|
146
151
|
/** DELETE /internal/tenants/{tenantId}/users/{cognitoSub} — borra a un usuario. El `actedBy` viaja en el cuerpo. */
|
|
147
152
|
async deleteTenantUser(tenantId, cognitoSub, input) {
|
|
148
153
|
const url = `${this._tenantUsersUrl(tenantId)}/${encodeURIComponent(cognitoSub)}`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIGatewayProxyResultBody, ApiGatewayResponse, ResolvedPermissions, ResolveInput } from "@fiado/gateway-adapter";
|
|
2
|
-
import { DefineNextChallengeRequest, DefineNextChallengeResponse, PrepareChallengeRequest, PrepareChallengeResponse, VerifyChallengeRequest, VerifyChallengeResponse, AuthorizeRequest, AuthorizeResponse, EffectivePermissionsResponse, InjectableUserAttributesResponse, PermissionScope, CreateLevelEntityRequest, CreateLevelEntityResponse, CreateTenantUserRequest, CreateTenantUserResponse, UserProfileResponse, ListLevelEntitiesResponse, LevelEntityResponse, UpdateLevelEntityRequest, DeleteLevelEntityRequest, DeleteLevelEntityResponse, ListTenantUsersResponse, GetTenantUserResponse, TenantUserResponse, TenantUserAckResponse, UpdateTenantUserRequest, DeleteTenantUserRequest, DisableTenantUserRequest, EnableTenantUserRequest, ResetTenantUserPasswordRequest, ResetTenantUserPasswordResponse, ResetTenantUserMfaRequest, ListTenantRolesResponse, AssignTenantRoleRequest, AssignTenantRoleResponse, RevokeTenantRoleRequest, RevokeTenantRoleResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
2
|
+
import { DefineNextChallengeRequest, DefineNextChallengeResponse, PrepareChallengeRequest, PrepareChallengeResponse, VerifyChallengeRequest, VerifyChallengeResponse, AuthorizeRequest, AuthorizeResponse, EffectivePermissionsResponse, InjectableUserAttributesResponse, PermissionScope, CreateLevelEntityRequest, CreateLevelEntityResponse, CreateTenantUserRequest, CreateTenantUserResponse, UserProfileResponse, ListLevelEntitiesResponse, LevelEntityResponse, UpdateLevelEntityRequest, DeleteLevelEntityRequest, DeleteLevelEntityResponse, ListTenantUsersResponse, GetTenantUserResponse, TenantUserResponse, TenantUserAckResponse, UpdateTenantUserRequest, UpdateTenantUserEmailRequest, DeleteTenantUserRequest, DisableTenantUserRequest, EnableTenantUserRequest, ResetTenantUserPasswordRequest, ResetTenantUserPasswordResponse, ResetTenantUserMfaRequest, ListTenantRolesResponse, AssignTenantRoleRequest, AssignTenantRoleResponse, RevokeTenantRoleRequest, RevokeTenantRoleResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
3
3
|
import type { TenantUsersBySubsResponse, RoleAssignmentsByScopeRefsResponse } from "@fiado/type-kit/bin/platformRbac/index.js";
|
|
4
4
|
/**
|
|
5
5
|
* Contrato del publisher HTTP del lambda `platform-rbac-business` (componente 06 SureKeep Fase 0)
|
|
@@ -99,6 +99,8 @@ export interface IPlatformRbacBusinessApi {
|
|
|
99
99
|
getTenantUser(tenantId: string, cognitoSub: string): Promise<APIGatewayProxyResultBody<GetTenantUserResponse>>;
|
|
100
100
|
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub} — renombra a un usuario. */
|
|
101
101
|
updateTenantUser(tenantId: string, cognitoSub: string, input: UpdateTenantUserRequest): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
102
|
+
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub}/email — cambia el correo de un usuario. */
|
|
103
|
+
updateTenantUserEmail(tenantId: string, cognitoSub: string, input: UpdateTenantUserEmailRequest): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
102
104
|
/** DELETE /internal/tenants/{tenantId}/users/{cognitoSub} — borra a un usuario. El `actedBy` viaja en el cuerpo. */
|
|
103
105
|
deleteTenantUser(tenantId: string, cognitoSub: string, input: DeleteTenantUserRequest): Promise<APIGatewayProxyResultBody<TenantUserAckResponse>>;
|
|
104
106
|
/** POST /internal/tenants/{tenantId}/users/{cognitoSub}/disable — suspende a un usuario. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
3
|
-
import type { CancelRetailSaleRequest, CancelRetailSaleResponse, CheckRetailInventoryRequest, CheckRetailInventoryResponse, GetRetailInventoryRequest, GetRetailInventoryResponse, ListRetailCatalogRequest, ListRetailCatalogResponse, ListRetailStoresRequest, ListRetailStoresResponse, ListRetailUsersRequest, ListRetailUsersResponse, RegisterRetailSaleRequest, RegisterRetailSaleResponse, RetailSystemSale, RetailTenantQuery } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
3
|
+
import type { CancelRetailSaleRequest, CancelRetailSaleResponse, CheckRetailInventoryRequest, CheckRetailInventoryResponse, GetRetailInventoryRequest, GetRetailInventoryResponse, ListRetailCatalogRequest, ListRetailCatalogResponse, ListRetailInventoryMovementsRequest, ListRetailInventoryMovementsResponse, ListRetailStoresRequest, ListRetailStoresResponse, ListRetailUsersRequest, ListRetailUsersResponse, RegisterRetailSaleRequest, RegisterRetailSaleResponse, RetailSystemSale, RetailTenantQuery } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
4
4
|
import { IRetailIntegrationConnectorApi } from "./interfaces/IRetailIntegrationConnectorApi.js";
|
|
5
5
|
/** Publisher de la salida privada de `retail-integration-connector`. */
|
|
6
6
|
export default class RetailIntegrationConnectorApi implements IRetailIntegrationConnectorApi {
|
|
@@ -10,9 +10,11 @@ export default class RetailIntegrationConnectorApi implements IRetailIntegration
|
|
|
10
10
|
listRetailStores(request: ListRetailStoresRequest): Promise<StandardResponse<ListRetailStoresResponse>>;
|
|
11
11
|
listRetailCatalog(request: ListRetailCatalogRequest): Promise<StandardResponse<ListRetailCatalogResponse>>;
|
|
12
12
|
getRetailInventory(request: GetRetailInventoryRequest): Promise<StandardResponse<GetRetailInventoryResponse>>;
|
|
13
|
+
listRetailInventoryMovements(request: ListRetailInventoryMovementsRequest): Promise<StandardResponse<ListRetailInventoryMovementsResponse>>;
|
|
13
14
|
listRetailUsers(request: ListRetailUsersRequest): Promise<StandardResponse<ListRetailUsersResponse>>;
|
|
14
15
|
registerRetailSale(request: RegisterRetailSaleRequest, sale: RetailSystemSale): Promise<StandardResponse<RegisterRetailSaleResponse>>;
|
|
15
16
|
cancelRetailSale(query: RetailTenantQuery, cancellation: CancelRetailSaleRequest): Promise<StandardResponse<CancelRetailSaleResponse>>;
|
|
17
|
+
/** @deprecated El wizard ya no consulta en vivo; se borra cuando ningún consumidor lo use. */
|
|
16
18
|
checkRetailInventory(request: CheckRetailInventoryRequest): Promise<StandardResponse<CheckRetailInventoryResponse>>;
|
|
17
19
|
private getWithTimeout;
|
|
18
20
|
private tenantQuery;
|
|
@@ -41,6 +41,17 @@ let RetailIntegrationConnectorApi = class RetailIntegrationConnectorApi {
|
|
|
41
41
|
...this.tenantQuery(request),
|
|
42
42
|
storeId: request.storeId,
|
|
43
43
|
runId: request.runId,
|
|
44
|
+
limit: request.limit,
|
|
45
|
+
nextToken: request.nextToken,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async listRetailInventoryMovements(request) {
|
|
49
|
+
return await this.getWithTimeout("/private/retail/inventory/movements", {
|
|
50
|
+
...this.listQuery(request),
|
|
51
|
+
from: request.from,
|
|
52
|
+
to: request.to,
|
|
53
|
+
limit: request.limit,
|
|
54
|
+
nextToken: request.nextToken,
|
|
44
55
|
});
|
|
45
56
|
}
|
|
46
57
|
async listRetailUsers(request) {
|
|
@@ -64,6 +75,7 @@ let RetailIntegrationConnectorApi = class RetailIntegrationConnectorApi {
|
|
|
64
75
|
timeout: RETAIL_INTEGRATION_CONNECTOR_TIMEOUT_MS,
|
|
65
76
|
});
|
|
66
77
|
}
|
|
78
|
+
/** @deprecated El wizard ya no consulta en vivo; se borra cuando ningún consumidor lo use. */
|
|
67
79
|
async checkRetailInventory(request) {
|
|
68
80
|
const fields = {
|
|
69
81
|
...this.tenantQuery(request),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
|
-
import type { CancelRetailSaleRequest, CancelRetailSaleResponse, CheckRetailInventoryRequest, CheckRetailInventoryResponse, GetRetailInventoryRequest, GetRetailInventoryResponse, ListRetailCatalogRequest, ListRetailCatalogResponse, ListRetailStoresRequest, ListRetailStoresResponse, ListRetailUsersRequest, ListRetailUsersResponse, RegisterRetailSaleRequest, RegisterRetailSaleResponse, RetailSystemSale, RetailTenantQuery } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
2
|
+
import type { CancelRetailSaleRequest, CancelRetailSaleResponse, CheckRetailInventoryRequest, CheckRetailInventoryResponse, GetRetailInventoryRequest, GetRetailInventoryResponse, ListRetailCatalogRequest, ListRetailCatalogResponse, ListRetailInventoryMovementsRequest, ListRetailInventoryMovementsResponse, ListRetailStoresRequest, ListRetailStoresResponse, ListRetailUsersRequest, ListRetailUsersResponse, RegisterRetailSaleRequest, RegisterRetailSaleResponse, RetailSystemSale, RetailTenantQuery } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Salida privada de `retail-integration-connector` hacia el sistema del retailer del tenant.
|
|
5
5
|
* Env var del consumidor: `RETAIL_INTEGRATION_CONNECTOR_URL: '{{resolve:ssm:retail-integration-connector}}'`.
|
|
@@ -9,14 +9,19 @@ export interface IRetailIntegrationConnectorApi {
|
|
|
9
9
|
listRetailStores(request: ListRetailStoresRequest): Promise<StandardResponse<ListRetailStoresResponse>>;
|
|
10
10
|
/** `GET /private/retail/catalog` — una página del catálogo del retailer. */
|
|
11
11
|
listRetailCatalog(request: ListRetailCatalogRequest): Promise<StandardResponse<ListRetailCatalogResponse>>;
|
|
12
|
-
/** `GET /private/retail/inventory` — piezas y existencias de una tienda. */
|
|
12
|
+
/** `GET /private/retail/inventory` — una página de piezas y existencias de una tienda. */
|
|
13
13
|
getRetailInventory(request: GetRetailInventoryRequest): Promise<StandardResponse<GetRetailInventoryResponse>>;
|
|
14
|
+
/** `GET /private/retail/inventory/movements` — una página de movimientos en el rango `[from, to)`; 12 s. */
|
|
15
|
+
listRetailInventoryMovements(request: ListRetailInventoryMovementsRequest): Promise<StandardResponse<ListRetailInventoryMovementsResponse>>;
|
|
14
16
|
/** `GET /private/retail/users` — una página de usuarios, opcionalmente de una tienda. */
|
|
15
17
|
listRetailUsers(request: ListRetailUsersRequest): Promise<StandardResponse<ListRetailUsersResponse>>;
|
|
16
18
|
/** `POST /private/retail/sales` — registra la venta; ante timeout o 502, reintenta con el mismo `saleId`. */
|
|
17
19
|
registerRetailSale(request: RegisterRetailSaleRequest, sale: RetailSystemSale): Promise<StandardResponse<RegisterRetailSaleResponse>>;
|
|
18
20
|
/** `POST /private/retail/sales/cancel` — cancela la venta con el mismo `saleId` del registro; 12 s. */
|
|
19
21
|
cancelRetailSale(query: RetailTenantQuery, cancellation: CancelRetailSaleRequest): Promise<StandardResponse<CancelRetailSaleResponse>>;
|
|
20
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* `GET /private/retail/inventory/live-check` — qué identificadores lista hoy la tienda; 3 s.
|
|
24
|
+
* @deprecated El wizard ya no consulta en vivo; se borra cuando ningún consumidor lo use.
|
|
25
|
+
*/
|
|
21
26
|
checkRetailInventory(request: CheckRetailInventoryRequest): Promise<StandardResponse<CheckRetailInventoryResponse>>;
|
|
22
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.146.0",
|
|
4
4
|
"description": "Sirve como un puente entre diferentes funciones lambda, facilitando la comunicación entre ellas a través de invocaciones http",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@fiado/gateway-adapter": "^3.14.0",
|
|
35
35
|
"@fiado/http-client": "^2.0.1",
|
|
36
36
|
"@fiado/logger": "^1.1.3",
|
|
37
|
-
"@fiado/type-kit": "^3.
|
|
37
|
+
"@fiado/type-kit": "^3.585.0",
|
|
38
38
|
"dotenv": "^16.4.7"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -127,6 +127,7 @@ export * from "./domain-callback/index.js";
|
|
|
127
127
|
export * from "./datacultrConnector/index.js";
|
|
128
128
|
export * from "./webhook-business/index.js";
|
|
129
129
|
export * from "./trustonicConnector/index.js";
|
|
130
|
+
export * from "./motosafeConnector/index.js";
|
|
130
131
|
export * from "./rewards-business/index.js";
|
|
131
132
|
export * from "./rewards-eligibility-business/index.js";
|
|
132
133
|
export * from "./rules-business/index.js";
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { inject, injectable } from "inversify";
|
|
2
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
3
|
+
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
4
|
+
import {
|
|
5
|
+
DeviceEnrollInitiateResponse,
|
|
6
|
+
DeviceEnrollRequest,
|
|
7
|
+
DeviceLockRequest,
|
|
8
|
+
DeviceLockResponse,
|
|
9
|
+
DeviceNotifyRequest,
|
|
10
|
+
DeviceNotifyResponse,
|
|
11
|
+
DeviceReleaseInitiateResponse,
|
|
12
|
+
DeviceReleaseRequest,
|
|
13
|
+
DeviceReleaseStatusRequest,
|
|
14
|
+
DeviceReleaseStatusResponse,
|
|
15
|
+
DeviceStatusRequest,
|
|
16
|
+
DeviceStatusResponse,
|
|
17
|
+
DeviceUnlockRequest,
|
|
18
|
+
DeviceUnlockResponse,
|
|
19
|
+
} from "@fiado/type-kit/bin/mdm/index.js";
|
|
20
|
+
import { DeviceBatchRequest, DeviceBatchResult } from "../../utils/MdmEnvelopes.js";
|
|
21
|
+
import { IMotosafeConnectorApi } from "./interfaces/IMotosafeConnectorApi.js";
|
|
22
|
+
|
|
23
|
+
// Publisher HTTP de `motosafe-connector`. El consumidor define
|
|
24
|
+
// MOTOSAFE_CONNECTOR_URL: '{{resolve:ssm:motosafe-connector}}' en su template.yml.
|
|
25
|
+
@injectable()
|
|
26
|
+
export default class MotosafeConnectorApi implements IMotosafeConnectorApi {
|
|
27
|
+
// El buildspec publica la URL en SSM con "/" final; se normaliza para no armar "//devices".
|
|
28
|
+
private readonly baseUrl = (process.env.MOTOSAFE_CONNECTOR_URL || "").replace(/\/+$/, "");
|
|
29
|
+
|
|
30
|
+
constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
|
|
31
|
+
|
|
32
|
+
async enrollDevices(
|
|
33
|
+
input: DeviceBatchRequest<DeviceEnrollRequest>,
|
|
34
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceEnrollInitiateResponse>>> {
|
|
35
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/enroll`, input);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async getStatus(
|
|
39
|
+
input: DeviceBatchRequest<DeviceStatusRequest>,
|
|
40
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceStatusResponse>>> {
|
|
41
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/status`, input);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async lockDevices(
|
|
45
|
+
input: DeviceBatchRequest<DeviceLockRequest>,
|
|
46
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceLockResponse>>> {
|
|
47
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/lock`, input);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async unlockDevices(
|
|
51
|
+
input: DeviceBatchRequest<DeviceUnlockRequest>,
|
|
52
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceUnlockResponse>>> {
|
|
53
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/unlock`, input);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async releaseDevices(
|
|
57
|
+
input: DeviceBatchRequest<DeviceReleaseRequest>,
|
|
58
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseInitiateResponse>>> {
|
|
59
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/release`, input);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async releaseStatus(
|
|
63
|
+
input: DeviceBatchRequest<DeviceReleaseStatusRequest>,
|
|
64
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseStatusResponse>>> {
|
|
65
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/release/status`, input);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async notifyDevices(
|
|
69
|
+
input: DeviceBatchRequest<DeviceNotifyRequest>,
|
|
70
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceNotifyResponse>>> {
|
|
71
|
+
return await this.httpRequest.post(`${this.baseUrl}/devices/notify`, input);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
|
+
import {
|
|
3
|
+
DeviceEnrollInitiateResponse,
|
|
4
|
+
DeviceEnrollRequest,
|
|
5
|
+
DeviceLockRequest,
|
|
6
|
+
DeviceLockResponse,
|
|
7
|
+
DeviceNotifyRequest,
|
|
8
|
+
DeviceNotifyResponse,
|
|
9
|
+
DeviceReleaseInitiateResponse,
|
|
10
|
+
DeviceReleaseRequest,
|
|
11
|
+
DeviceReleaseStatusRequest,
|
|
12
|
+
DeviceReleaseStatusResponse,
|
|
13
|
+
DeviceStatusRequest,
|
|
14
|
+
DeviceStatusResponse,
|
|
15
|
+
DeviceUnlockRequest,
|
|
16
|
+
DeviceUnlockResponse,
|
|
17
|
+
} from "@fiado/type-kit/bin/mdm/index.js";
|
|
18
|
+
import { DeviceBatchRequest, DeviceBatchResult } from "../../../utils/MdmEnvelopes.js";
|
|
19
|
+
|
|
20
|
+
// Publisher de `motosafe-connector`: paths `/devices/*` sin `/private`, sin tenant, `Feature.ANONIMUS` (VPC).
|
|
21
|
+
// Solo los 7 métodos que llama algún consumidor; el resto lo degrada el adapter sin salir a la red.
|
|
22
|
+
export interface IMotosafeConnectorApi {
|
|
23
|
+
/** POST `/devices/enroll` — registra cada IMEI; responde `PENDING` sin `pollingHandle` (se concilia por estado). */
|
|
24
|
+
enrollDevices(
|
|
25
|
+
input: DeviceBatchRequest<DeviceEnrollRequest>,
|
|
26
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceEnrollInitiateResponse>>>;
|
|
27
|
+
|
|
28
|
+
/** POST `/devices/status` — estado aplicado de cada IMEI; `UNKNOWN` si la orden aún no llega al equipo. */
|
|
29
|
+
getStatus(
|
|
30
|
+
input: DeviceBatchRequest<DeviceStatusRequest>,
|
|
31
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceStatusResponse>>>;
|
|
32
|
+
|
|
33
|
+
/** POST `/devices/lock` — bloqueo inmediato, sin mensaje en pantalla. */
|
|
34
|
+
lockDevices(
|
|
35
|
+
input: DeviceBatchRequest<DeviceLockRequest>,
|
|
36
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceLockResponse>>>;
|
|
37
|
+
|
|
38
|
+
/** POST `/devices/unlock` — desbloqueo inmediato; rechaza `unlockUntil` (solo ONDEMAND). */
|
|
39
|
+
unlockDevices(
|
|
40
|
+
input: DeviceBatchRequest<DeviceUnlockRequest>,
|
|
41
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceUnlockResponse>>>;
|
|
42
|
+
|
|
43
|
+
/** POST `/devices/release` — libera cada IMEI; responde `PENDING` y se confirma con `releaseStatus`. */
|
|
44
|
+
releaseDevices(
|
|
45
|
+
input: DeviceBatchRequest<DeviceReleaseRequest>,
|
|
46
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseInitiateResponse>>>;
|
|
47
|
+
|
|
48
|
+
/** POST `/devices/release/status` — `SUCCESS` solo si el estado indica liberación; sin `pollingHandle`. */
|
|
49
|
+
releaseStatus(
|
|
50
|
+
input: DeviceBatchRequest<DeviceReleaseStatusRequest>,
|
|
51
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceReleaseStatusResponse>>>;
|
|
52
|
+
|
|
53
|
+
/** POST `/devices/notify` — aviso en pantalla; título ≤ 30 y contenido ≤ 100 caracteres. */
|
|
54
|
+
notifyDevices(
|
|
55
|
+
input: DeviceBatchRequest<DeviceNotifyRequest>,
|
|
56
|
+
): Promise<StandardResponse<DeviceBatchResult<DeviceNotifyResponse>>>;
|
|
57
|
+
}
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
TenantUserResponse,
|
|
35
35
|
TenantUserAckResponse,
|
|
36
36
|
UpdateTenantUserRequest,
|
|
37
|
+
UpdateTenantUserEmailRequest,
|
|
37
38
|
DeleteTenantUserRequest,
|
|
38
39
|
DisableTenantUserRequest,
|
|
39
40
|
EnableTenantUserRequest,
|
|
@@ -261,6 +262,16 @@ export default class PlatformRbacBusinessApi implements IPlatformRbacBusinessApi
|
|
|
261
262
|
return await this.httpRequest.put(url, input);
|
|
262
263
|
}
|
|
263
264
|
|
|
265
|
+
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub}/email — cambia el correo de un usuario. */
|
|
266
|
+
async updateTenantUserEmail(
|
|
267
|
+
tenantId: string,
|
|
268
|
+
cognitoSub: string,
|
|
269
|
+
input: UpdateTenantUserEmailRequest,
|
|
270
|
+
): Promise<APIGatewayProxyResultBody<TenantUserResponse>> {
|
|
271
|
+
const url = `${this._tenantUsersUrl(tenantId)}/${encodeURIComponent(cognitoSub)}/email`;
|
|
272
|
+
return await this.httpRequest.put(url, input);
|
|
273
|
+
}
|
|
274
|
+
|
|
264
275
|
/** DELETE /internal/tenants/{tenantId}/users/{cognitoSub} — borra a un usuario. El `actedBy` viaja en el cuerpo. */
|
|
265
276
|
async deleteTenantUser(
|
|
266
277
|
tenantId: string,
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
TenantUserResponse,
|
|
32
32
|
TenantUserAckResponse,
|
|
33
33
|
UpdateTenantUserRequest,
|
|
34
|
+
UpdateTenantUserEmailRequest,
|
|
34
35
|
DeleteTenantUserRequest,
|
|
35
36
|
DisableTenantUserRequest,
|
|
36
37
|
EnableTenantUserRequest,
|
|
@@ -216,6 +217,13 @@ export interface IPlatformRbacBusinessApi {
|
|
|
216
217
|
input: UpdateTenantUserRequest,
|
|
217
218
|
): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
218
219
|
|
|
220
|
+
/** PUT /internal/tenants/{tenantId}/users/{cognitoSub}/email — cambia el correo de un usuario. */
|
|
221
|
+
updateTenantUserEmail(
|
|
222
|
+
tenantId: string,
|
|
223
|
+
cognitoSub: string,
|
|
224
|
+
input: UpdateTenantUserEmailRequest,
|
|
225
|
+
): Promise<APIGatewayProxyResultBody<TenantUserResponse>>;
|
|
226
|
+
|
|
219
227
|
/** DELETE /internal/tenants/{tenantId}/users/{cognitoSub} — borra a un usuario. El `actedBy` viaja en el cuerpo. */
|
|
220
228
|
deleteTenantUser(
|
|
221
229
|
tenantId: string,
|
|
@@ -10,6 +10,8 @@ import type {
|
|
|
10
10
|
GetRetailInventoryResponse,
|
|
11
11
|
ListRetailCatalogRequest,
|
|
12
12
|
ListRetailCatalogResponse,
|
|
13
|
+
ListRetailInventoryMovementsRequest,
|
|
14
|
+
ListRetailInventoryMovementsResponse,
|
|
13
15
|
ListRetailStoresRequest,
|
|
14
16
|
ListRetailStoresResponse,
|
|
15
17
|
ListRetailUsersRequest,
|
|
@@ -58,6 +60,20 @@ export default class RetailIntegrationConnectorApi implements IRetailIntegration
|
|
|
58
60
|
...this.tenantQuery(request),
|
|
59
61
|
storeId: request.storeId,
|
|
60
62
|
runId: request.runId,
|
|
63
|
+
limit: request.limit,
|
|
64
|
+
nextToken: request.nextToken,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async listRetailInventoryMovements(
|
|
69
|
+
request: ListRetailInventoryMovementsRequest,
|
|
70
|
+
): Promise<StandardResponse<ListRetailInventoryMovementsResponse>> {
|
|
71
|
+
return await this.getWithTimeout("/private/retail/inventory/movements", {
|
|
72
|
+
...this.listQuery(request),
|
|
73
|
+
from: request.from,
|
|
74
|
+
to: request.to,
|
|
75
|
+
limit: request.limit,
|
|
76
|
+
nextToken: request.nextToken,
|
|
61
77
|
});
|
|
62
78
|
}
|
|
63
79
|
|
|
@@ -91,6 +107,7 @@ export default class RetailIntegrationConnectorApi implements IRetailIntegration
|
|
|
91
107
|
});
|
|
92
108
|
}
|
|
93
109
|
|
|
110
|
+
/** @deprecated El wizard ya no consulta en vivo; se borra cuando ningún consumidor lo use. */
|
|
94
111
|
async checkRetailInventory(
|
|
95
112
|
request: CheckRetailInventoryRequest,
|
|
96
113
|
): Promise<StandardResponse<CheckRetailInventoryResponse>> {
|
|
@@ -8,6 +8,8 @@ import type {
|
|
|
8
8
|
GetRetailInventoryResponse,
|
|
9
9
|
ListRetailCatalogRequest,
|
|
10
10
|
ListRetailCatalogResponse,
|
|
11
|
+
ListRetailInventoryMovementsRequest,
|
|
12
|
+
ListRetailInventoryMovementsResponse,
|
|
11
13
|
ListRetailStoresRequest,
|
|
12
14
|
ListRetailStoresResponse,
|
|
13
15
|
ListRetailUsersRequest,
|
|
@@ -29,9 +31,14 @@ export interface IRetailIntegrationConnectorApi {
|
|
|
29
31
|
/** `GET /private/retail/catalog` — una página del catálogo del retailer. */
|
|
30
32
|
listRetailCatalog(request: ListRetailCatalogRequest): Promise<StandardResponse<ListRetailCatalogResponse>>;
|
|
31
33
|
|
|
32
|
-
/** `GET /private/retail/inventory` — piezas y existencias de una tienda. */
|
|
34
|
+
/** `GET /private/retail/inventory` — una página de piezas y existencias de una tienda. */
|
|
33
35
|
getRetailInventory(request: GetRetailInventoryRequest): Promise<StandardResponse<GetRetailInventoryResponse>>;
|
|
34
36
|
|
|
37
|
+
/** `GET /private/retail/inventory/movements` — una página de movimientos en el rango `[from, to)`; 12 s. */
|
|
38
|
+
listRetailInventoryMovements(
|
|
39
|
+
request: ListRetailInventoryMovementsRequest,
|
|
40
|
+
): Promise<StandardResponse<ListRetailInventoryMovementsResponse>>;
|
|
41
|
+
|
|
35
42
|
/** `GET /private/retail/users` — una página de usuarios, opcionalmente de una tienda. */
|
|
36
43
|
listRetailUsers(request: ListRetailUsersRequest): Promise<StandardResponse<ListRetailUsersResponse>>;
|
|
37
44
|
|
|
@@ -47,6 +54,9 @@ export interface IRetailIntegrationConnectorApi {
|
|
|
47
54
|
cancellation: CancelRetailSaleRequest,
|
|
48
55
|
): Promise<StandardResponse<CancelRetailSaleResponse>>;
|
|
49
56
|
|
|
50
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* `GET /private/retail/inventory/live-check` — qué identificadores lista hoy la tienda; 3 s.
|
|
59
|
+
* @deprecated El wizard ya no consulta en vivo; se borra cuando ningún consumidor lo use.
|
|
60
|
+
*/
|
|
51
61
|
checkRetailInventory(request: CheckRetailInventoryRequest): Promise<StandardResponse<CheckRetailInventoryResponse>>;
|
|
52
62
|
}
|