@fiado/api-invoker 5.110.0 → 5.112.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/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.d.ts +2 -1
- package/bin/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.js +4 -0
- package/bin/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.d.ts +9 -1
- package/bin/retailCatalog/api/RetailCatalogBusinessApi.d.ts +6 -1
- package/bin/retailCatalog/api/RetailCatalogBusinessApi.js +8 -0
- package/bin/retailCatalog/api/interfaces/IRetailCatalogBusinessApi.d.ts +7 -1
- package/package.json +3 -3
- package/src/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.ts +9 -0
- package/src/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.ts +13 -0
- package/src/retailCatalog/api/RetailCatalogBusinessApi.ts +13 -0
- package/src/retailCatalog/api/interfaces/IRetailCatalogBusinessApi.ts +9 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
3
|
-
import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, CreatePoolClientRequest, CreatePoolClientResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
3
|
+
import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, CreatePoolClientRequest, CreatePoolClientResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, AuthStartLoginRequest, AuthStartLoginResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
4
4
|
import { ICognitoBackofficeConnectorApi } from "./interfaces/ICognitoBackofficeConnectorApi.js";
|
|
5
5
|
/**
|
|
6
6
|
* Publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
|
|
@@ -40,6 +40,7 @@ export default class CognitoBackofficeConnectorApi implements ICognitoBackoffice
|
|
|
40
40
|
resetUserMfa(cognitoSub: string, input: MfaResetRequest): Promise<ApiGatewayResponse<void>>;
|
|
41
41
|
authInitiate(input: InitiateAuthRequest): Promise<ApiGatewayResponse<InitiateAuthResponse>>;
|
|
42
42
|
authVerifyPassword(input: VerifyPasswordRequest): Promise<ApiGatewayResponse<VerifyPasswordResponse>>;
|
|
43
|
+
authStartLogin(input: AuthStartLoginRequest): Promise<ApiGatewayResponse<AuthStartLoginResponse>>;
|
|
43
44
|
introspect(input: IntrospectRequest): Promise<ApiGatewayResponse<IntrospectResponse>>;
|
|
44
45
|
authRespondChallenge(input: RespondToChallengeRequest): Promise<ApiGatewayResponse<RespondToChallengeResponse>>;
|
|
45
46
|
authRefreshTokens(input: RefreshTokensRequest): Promise<ApiGatewayResponse<RefreshTokensResponse>>;
|
|
@@ -97,6 +97,10 @@ let CognitoBackofficeConnectorApi = class CognitoBackofficeConnectorApi {
|
|
|
97
97
|
const url = `${this.baseUrl}/auth/verify-password`;
|
|
98
98
|
return await this.httpRequest.post(url, input);
|
|
99
99
|
}
|
|
100
|
+
async authStartLogin(input) {
|
|
101
|
+
const url = `${this.baseUrl}/auth/start-login`;
|
|
102
|
+
return await this.httpRequest.post(url, input);
|
|
103
|
+
}
|
|
100
104
|
async introspect(input) {
|
|
101
105
|
const url = `${this.baseUrl}/auth/introspect`;
|
|
102
106
|
return await this.httpRequest.post(url, input);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
2
|
-
import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, CreatePoolClientRequest, CreatePoolClientResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
2
|
+
import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, CreatePoolClientRequest, CreatePoolClientResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, AuthStartLoginRequest, AuthStartLoginResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Contrato del publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
|
|
5
5
|
*
|
|
@@ -58,6 +58,14 @@ export interface ICognitoBackofficeConnectorApi {
|
|
|
58
58
|
* solo un veredicto `{ valid }`. El caller (rbac) NO conoce el mecanismo.
|
|
59
59
|
*/
|
|
60
60
|
authVerifyPassword(input: VerifyPasswordRequest): Promise<ApiGatewayResponse<VerifyPasswordResponse>>;
|
|
61
|
+
/**
|
|
62
|
+
* POST /auth/start-login — login de un solo flujo (SRP dentro de CUSTOM_AUTH).
|
|
63
|
+
* El connector hace InitiateAuth(CUSTOM_AUTH, SRP_A) y responde PASSWORD_VERIFIER
|
|
64
|
+
* firmado en una sola operacion; la contraseña nunca viaja en claro. Devuelve
|
|
65
|
+
* tokens (2FA apagado) o el challenge pendiente (NEW_PASSWORD_REQUIRED / el
|
|
66
|
+
* CUSTOM_CHALLENGE del 2do factor). El caller (rbac) decide por que rama sigue.
|
|
67
|
+
*/
|
|
68
|
+
authStartLogin(input: AuthStartLoginRequest): Promise<ApiGatewayResponse<AuthStartLoginResponse>>;
|
|
61
69
|
/**
|
|
62
70
|
* POST /auth/introspect — valida un token (firma + exp + iss + client_id +
|
|
63
71
|
* token_use) y devuelve `{ valid, cognitoSub?, reason? }`. El connector es
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
3
|
-
import type { GetStoreStockCatalogResponse, HoldStockRequest, HoldStockResponse, InventoryLensQuery, InventoryLensResponse, ReleaseStockRequest, ReleaseStockResponse, RenewReservationsRequest, RenewReservationsResponse, ReserveStockRequest, ReserveStockResponse, ReturnStockRequest, ReturnStockResponse, SellStockRequest, SellStockResponse, SuggestPiecesQuery, SuggestPiecesResponse, SyncInventoryRequest, SyncInventoryResponse, ValidateProductResponse } from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
3
|
+
import type { GetStoreStockCatalogResponse, HoldStockRequest, HoldStockResponse, InventoryLensQuery, InventoryLensResponse, ReleaseStockRequest, ReleaseStockResponse, RenewReservationsRequest, RenewReservationsResponse, ReserveStockRequest, ReserveStockResponse, ReturnStockRequest, ReturnStockResponse, SellStockRequest, SellStockResponse, SuggestPiecesQuery, SuggestPiecesResponse, SyncInventoryRequest, SyncInventoryResponse, ValidateProductResponse, StoreCatalogItem as StockCatalogItem } from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
4
|
+
import type { PaginatedResult } from "@fiado/type-kit/bin/retailOrg/index.js";
|
|
4
5
|
import type { ApplyInventoryEventRequest, ApplyInventoryEventResponse, ApplyProductEventRequest, ApplyProductEventResponse } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
5
6
|
import { IRetailCatalogBusinessApi, ProductsByRetailersResponse, ReleaseReservationBody, ReserveInventoryBody, ReserveInventoryResult, SellInventoryBody, StoreCatalogItem } from "./interfaces/IRetailCatalogBusinessApi.js";
|
|
6
7
|
/**
|
|
@@ -39,6 +40,10 @@ export default class RetailCatalogBusinessApi implements IRetailCatalogBusinessA
|
|
|
39
40
|
returnStock(storeId: string, body: ReturnStockRequest, tenantId: string): Promise<StandardResponse<ReturnStockResponse>>;
|
|
40
41
|
syncInventory(retailerId: string, body: SyncInventoryRequest, tenantId: string): Promise<StandardResponse<SyncInventoryResponse>>;
|
|
41
42
|
getStoreStockCatalog(storeId: string, tenantId: string): Promise<StandardResponse<GetStoreStockCatalogResponse>>;
|
|
43
|
+
listStoreStockCatalogPage(storeId: string, tenantId: string, page?: {
|
|
44
|
+
limit?: number;
|
|
45
|
+
nextToken?: string;
|
|
46
|
+
}): Promise<StandardResponse<PaginatedResult<StockCatalogItem>>>;
|
|
42
47
|
getInventoryLens(tenantId: string, retailerId: string, query: InventoryLensQuery): Promise<StandardResponse<InventoryLensResponse>>;
|
|
43
48
|
privateApplyProductEvent(request: ApplyProductEventRequest): Promise<StandardResponse<ApplyProductEventResponse>>;
|
|
44
49
|
privateApplyInventoryEvent(request: ApplyInventoryEventRequest): Promise<StandardResponse<ApplyInventoryEventResponse>>;
|
|
@@ -107,6 +107,14 @@ let RetailCatalogBusinessApi = class RetailCatalogBusinessApi {
|
|
|
107
107
|
async getStoreStockCatalog(storeId, tenantId) {
|
|
108
108
|
return await this.httpRequest.get(this.storeUrl(storeId, "stock-catalog", tenantId));
|
|
109
109
|
}
|
|
110
|
+
async listStoreStockCatalogPage(storeId, tenantId, page = {}) {
|
|
111
|
+
const extra = {};
|
|
112
|
+
if (page.limit !== undefined)
|
|
113
|
+
extra.limit = String(page.limit);
|
|
114
|
+
if (page.nextToken)
|
|
115
|
+
extra.nextToken = page.nextToken;
|
|
116
|
+
return await this.httpRequest.get(this.storeUrl(storeId, "stock-catalog/page", tenantId, extra));
|
|
117
|
+
}
|
|
110
118
|
async getInventoryLens(tenantId, retailerId, query) {
|
|
111
119
|
const params = new URLSearchParams({ tenantId, retailerId, filter: query.filter });
|
|
112
120
|
if (query.period)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
|
-
import type { GetStoreStockCatalogResponse, HoldStockRequest, HoldStockResponse, InventoryLensQuery, InventoryLensResponse, MdmLockModeEnum, MdmProviderEnum, ReleaseStockRequest, ReleaseStockResponse, RenewReservationsRequest, RenewReservationsResponse, ReserveStockRequest, ReserveStockResponse, ReturnStockRequest, ReturnStockResponse, SellStockRequest, SellStockResponse, SuggestPiecesQuery, SuggestPiecesResponse, SyncInventoryRequest, SyncInventoryResponse, ValidateProductResponse } from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
2
|
+
import type { GetStoreStockCatalogResponse, HoldStockRequest, HoldStockResponse, InventoryLensQuery, InventoryLensResponse, MdmLockModeEnum, MdmProviderEnum, ReleaseStockRequest, ReleaseStockResponse, RenewReservationsRequest, RenewReservationsResponse, ReserveStockRequest, ReserveStockResponse, ReturnStockRequest, ReturnStockResponse, SellStockRequest, SellStockResponse, SuggestPiecesQuery, SuggestPiecesResponse, SyncInventoryRequest, StoreCatalogItem as StockCatalogItem, SyncInventoryResponse, ValidateProductResponse } from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
3
|
+
import type { PaginatedResult } from "@fiado/type-kit/bin/retailOrg/index.js";
|
|
3
4
|
import type { ApplyInventoryEventRequest, ApplyInventoryEventResponse, ApplyProductEventRequest, ApplyProductEventResponse } from "@fiado/type-kit/bin/retailIntegration/index.js";
|
|
4
5
|
/**
|
|
5
6
|
* Contrato del publisher HTTP del lambda `retail-catalog-business` (SureKeep Fase 1, pista Retail)
|
|
@@ -174,6 +175,11 @@ export interface IRetailCatalogBusinessApi {
|
|
|
174
175
|
syncInventory(retailerId: string, body: SyncInventoryRequest, tenantId: string): Promise<StandardResponse<SyncInventoryResponse>>;
|
|
175
176
|
/** GET `/private/stores/{storeId}/stock-catalog` — catálogo vendible de la tienda, una fila por SKU. */
|
|
176
177
|
getStoreStockCatalog(storeId: string, tenantId: string): Promise<StandardResponse<GetStoreStockCatalogResponse>>;
|
|
178
|
+
/** GET `/private/stores/{storeId}/stock-catalog/page` — el mismo catálogo paginado con cursor opaco (`nextToken`). */
|
|
179
|
+
listStoreStockCatalogPage(storeId: string, tenantId: string, page?: {
|
|
180
|
+
limit?: number;
|
|
181
|
+
nextToken?: string;
|
|
182
|
+
}): Promise<StandardResponse<PaginatedResult<StockCatalogItem>>>;
|
|
177
183
|
/** GET `/private/inventory/lens` — lente de inventario del retailer; `period` y `storeId` solo aplican a `filter=list`. */
|
|
178
184
|
getInventoryLens(tenantId: string, retailerId: string, query: InventoryLensQuery): Promise<StandardResponse<InventoryLensResponse>>;
|
|
179
185
|
/** `POST /private/integration/product-events?tenantId=` — aplica un evento de producto del retailer. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.112.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",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"license": "ISC",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@aws-sdk/client-sqs": "^3.919.0",
|
|
34
|
-
"@fiado/gateway-adapter": "^3.
|
|
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.500.0",
|
|
38
38
|
"dotenv": "^16.4.7"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -38,6 +38,8 @@ import {
|
|
|
38
38
|
HealthcheckResponse,
|
|
39
39
|
VerifyPasswordRequest,
|
|
40
40
|
VerifyPasswordResponse,
|
|
41
|
+
AuthStartLoginRequest,
|
|
42
|
+
AuthStartLoginResponse,
|
|
41
43
|
IntrospectRequest,
|
|
42
44
|
IntrospectResponse,
|
|
43
45
|
} from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
@@ -190,6 +192,13 @@ export default class CognitoBackofficeConnectorApi implements ICognitoBackoffice
|
|
|
190
192
|
return await this.httpRequest.post(url, input);
|
|
191
193
|
}
|
|
192
194
|
|
|
195
|
+
async authStartLogin(
|
|
196
|
+
input: AuthStartLoginRequest,
|
|
197
|
+
): Promise<ApiGatewayResponse<AuthStartLoginResponse>> {
|
|
198
|
+
const url = `${this.baseUrl}/auth/start-login`;
|
|
199
|
+
return await this.httpRequest.post(url, input);
|
|
200
|
+
}
|
|
201
|
+
|
|
193
202
|
async introspect(
|
|
194
203
|
input: IntrospectRequest,
|
|
195
204
|
): Promise<ApiGatewayResponse<IntrospectResponse>> {
|
|
@@ -36,6 +36,8 @@ import {
|
|
|
36
36
|
HealthcheckResponse,
|
|
37
37
|
VerifyPasswordRequest,
|
|
38
38
|
VerifyPasswordResponse,
|
|
39
|
+
AuthStartLoginRequest,
|
|
40
|
+
AuthStartLoginResponse,
|
|
39
41
|
IntrospectRequest,
|
|
40
42
|
IntrospectResponse,
|
|
41
43
|
} from "@fiado/type-kit/bin/cognitoBackofficeConnector/index.js";
|
|
@@ -141,6 +143,17 @@ export interface ICognitoBackofficeConnectorApi {
|
|
|
141
143
|
input: VerifyPasswordRequest,
|
|
142
144
|
): Promise<ApiGatewayResponse<VerifyPasswordResponse>>;
|
|
143
145
|
|
|
146
|
+
/**
|
|
147
|
+
* POST /auth/start-login — login de un solo flujo (SRP dentro de CUSTOM_AUTH).
|
|
148
|
+
* El connector hace InitiateAuth(CUSTOM_AUTH, SRP_A) y responde PASSWORD_VERIFIER
|
|
149
|
+
* firmado en una sola operacion; la contraseña nunca viaja en claro. Devuelve
|
|
150
|
+
* tokens (2FA apagado) o el challenge pendiente (NEW_PASSWORD_REQUIRED / el
|
|
151
|
+
* CUSTOM_CHALLENGE del 2do factor). El caller (rbac) decide por que rama sigue.
|
|
152
|
+
*/
|
|
153
|
+
authStartLogin(
|
|
154
|
+
input: AuthStartLoginRequest,
|
|
155
|
+
): Promise<ApiGatewayResponse<AuthStartLoginResponse>>;
|
|
156
|
+
|
|
144
157
|
/**
|
|
145
158
|
* POST /auth/introspect — valida un token (firma + exp + iss + client_id +
|
|
146
159
|
* token_use) y devuelve `{ valid, cognitoSub?, reason? }`. El connector es
|
|
@@ -22,7 +22,9 @@ import type {
|
|
|
22
22
|
SyncInventoryRequest,
|
|
23
23
|
SyncInventoryResponse,
|
|
24
24
|
ValidateProductResponse,
|
|
25
|
+
StoreCatalogItem as StockCatalogItem,
|
|
25
26
|
} from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
27
|
+
import type { PaginatedResult } from "@fiado/type-kit/bin/retailOrg/index.js";
|
|
26
28
|
import type {
|
|
27
29
|
ApplyInventoryEventRequest,
|
|
28
30
|
ApplyInventoryEventResponse,
|
|
@@ -208,6 +210,17 @@ export default class RetailCatalogBusinessApi implements IRetailCatalogBusinessA
|
|
|
208
210
|
return await this.httpRequest.get(this.storeUrl(storeId, "stock-catalog", tenantId));
|
|
209
211
|
}
|
|
210
212
|
|
|
213
|
+
async listStoreStockCatalogPage(
|
|
214
|
+
storeId: string,
|
|
215
|
+
tenantId: string,
|
|
216
|
+
page: { limit?: number; nextToken?: string } = {},
|
|
217
|
+
): Promise<StandardResponse<PaginatedResult<StockCatalogItem>>> {
|
|
218
|
+
const extra: Record<string, string> = {};
|
|
219
|
+
if (page.limit !== undefined) extra.limit = String(page.limit);
|
|
220
|
+
if (page.nextToken) extra.nextToken = page.nextToken;
|
|
221
|
+
return await this.httpRequest.get(this.storeUrl(storeId, "stock-catalog/page", tenantId, extra));
|
|
222
|
+
}
|
|
223
|
+
|
|
211
224
|
async getInventoryLens(
|
|
212
225
|
tenantId: string,
|
|
213
226
|
retailerId: string,
|
|
@@ -20,9 +20,11 @@ import type {
|
|
|
20
20
|
SuggestPiecesQuery,
|
|
21
21
|
SuggestPiecesResponse,
|
|
22
22
|
SyncInventoryRequest,
|
|
23
|
+
StoreCatalogItem as StockCatalogItem,
|
|
23
24
|
SyncInventoryResponse,
|
|
24
25
|
ValidateProductResponse,
|
|
25
26
|
} from "@fiado/type-kit/bin/retailCatalog/index.js";
|
|
27
|
+
import type { PaginatedResult } from "@fiado/type-kit/bin/retailOrg/index.js";
|
|
26
28
|
import type {
|
|
27
29
|
ApplyInventoryEventRequest,
|
|
28
30
|
ApplyInventoryEventResponse,
|
|
@@ -268,6 +270,13 @@ export interface IRetailCatalogBusinessApi {
|
|
|
268
270
|
/** GET `/private/stores/{storeId}/stock-catalog` — catálogo vendible de la tienda, una fila por SKU. */
|
|
269
271
|
getStoreStockCatalog(storeId: string, tenantId: string): Promise<StandardResponse<GetStoreStockCatalogResponse>>;
|
|
270
272
|
|
|
273
|
+
/** GET `/private/stores/{storeId}/stock-catalog/page` — el mismo catálogo paginado con cursor opaco (`nextToken`). */
|
|
274
|
+
listStoreStockCatalogPage(
|
|
275
|
+
storeId: string,
|
|
276
|
+
tenantId: string,
|
|
277
|
+
page?: { limit?: number; nextToken?: string },
|
|
278
|
+
): Promise<StandardResponse<PaginatedResult<StockCatalogItem>>>;
|
|
279
|
+
|
|
271
280
|
/** GET `/private/inventory/lens` — lente de inventario del retailer; `period` y `storeId` solo aplican a `filter=list`. */
|
|
272
281
|
getInventoryLens(
|
|
273
282
|
tenantId: string,
|