@munchi_oy/core 1.9.56 → 1.9.58

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/generated/api.ts CHANGED
@@ -16116,6 +16116,187 @@ export interface ProductWithCategoryDto {
16116
16116
  */
16117
16117
  'default_course_id'?: object | null;
16118
16118
  }
16119
+ /**
16120
+ *
16121
+ * @export
16122
+ * @interface ProductWithCategoryV3Dto
16123
+ */
16124
+ export interface ProductWithCategoryV3Dto {
16125
+ /**
16126
+ * Product ID
16127
+ * @type {number}
16128
+ * @memberof ProductWithCategoryV3Dto
16129
+ */
16130
+ 'id': number;
16131
+ /**
16132
+ * Product name
16133
+ * @type {string}
16134
+ * @memberof ProductWithCategoryV3Dto
16135
+ */
16136
+ 'name': string;
16137
+ /**
16138
+ * Product price
16139
+ * @type {number}
16140
+ * @memberof ProductWithCategoryV3Dto
16141
+ */
16142
+ 'price': number;
16143
+ /**
16144
+ * Product description
16145
+ * @type {string}
16146
+ * @memberof ProductWithCategoryV3Dto
16147
+ */
16148
+ 'description': string;
16149
+ /**
16150
+ * Product image URL
16151
+ * @type {string}
16152
+ * @memberof ProductWithCategoryV3Dto
16153
+ */
16154
+ 'images': string;
16155
+ /**
16156
+ * SKU of the product
16157
+ * @type {string}
16158
+ * @memberof ProductWithCategoryV3Dto
16159
+ */
16160
+ 'sku'?: string | null;
16161
+ /**
16162
+ * Primary barcode value of the product
16163
+ * @type {object}
16164
+ * @memberof ProductWithCategoryV3Dto
16165
+ */
16166
+ 'barcode'?: object | null;
16167
+ /**
16168
+ * Alternative barcode value of the product
16169
+ * @type {object}
16170
+ * @memberof ProductWithCategoryV3Dto
16171
+ */
16172
+ 'barcode_alternative'?: object | null;
16173
+ /**
16174
+ * Category ID the product belongs to
16175
+ * @type {number}
16176
+ * @memberof ProductWithCategoryV3Dto
16177
+ */
16178
+ 'category_id': number;
16179
+ /**
16180
+ * Whether the product is tracked for inventory
16181
+ * @type {boolean}
16182
+ * @memberof ProductWithCategoryV3Dto
16183
+ */
16184
+ 'inventoried': boolean;
16185
+ /**
16186
+ * Available quantity if inventoried
16187
+ * @type {number}
16188
+ * @memberof ProductWithCategoryV3Dto
16189
+ */
16190
+ 'quantity': number;
16191
+ /**
16192
+ * Whether the product is marked as featured
16193
+ * @type {boolean}
16194
+ * @memberof ProductWithCategoryV3Dto
16195
+ */
16196
+ 'featured': boolean;
16197
+ /**
16198
+ * Whether the product is currently enabled
16199
+ * @type {boolean}
16200
+ * @memberof ProductWithCategoryV3Dto
16201
+ */
16202
+ 'enabled': boolean;
16203
+ /**
16204
+ * Whether upselling is enabled for this product
16205
+ * @type {boolean}
16206
+ * @memberof ProductWithCategoryV3Dto
16207
+ */
16208
+ 'upselling': boolean;
16209
+ /**
16210
+ * Whether the product is part of an offer
16211
+ * @type {boolean}
16212
+ * @memberof ProductWithCategoryV3Dto
16213
+ */
16214
+ 'in_offer': boolean;
16215
+ /**
16216
+ * Offer price if applicable
16217
+ * @type {object}
16218
+ * @memberof ProductWithCategoryV3Dto
16219
+ */
16220
+ 'offer_price': object | null;
16221
+ /**
16222
+ * Display order rank of the product
16223
+ * @type {number}
16224
+ * @memberof ProductWithCategoryV3Dto
16225
+ */
16226
+ 'rank': number;
16227
+ /**
16228
+ * Weight unit (e.g., g, kg, ml)
16229
+ * @type {object}
16230
+ * @memberof ProductWithCategoryV3Dto
16231
+ */
16232
+ 'weight_unit': object;
16233
+ /**
16234
+ * Last update timestamp
16235
+ * @type {string}
16236
+ * @memberof ProductWithCategoryV3Dto
16237
+ */
16238
+ 'updated_at': string;
16239
+ /**
16240
+ * Product creation timestamp
16241
+ * @type {string}
16242
+ * @memberof ProductWithCategoryV3Dto
16243
+ */
16244
+ 'created_at': string;
16245
+ /**
16246
+ * Deletion timestamp if soft-deleted
16247
+ * @type {object}
16248
+ * @memberof ProductWithCategoryV3Dto
16249
+ */
16250
+ 'deleted_at': object | null;
16251
+ /**
16252
+ * List of product extras (e.g., toppings, add-ons)
16253
+ * @type {Array<OrderingItemExtraDto>}
16254
+ * @memberof ProductWithCategoryV3Dto
16255
+ */
16256
+ 'extras': Array<OrderingItemExtraDto>;
16257
+ /**
16258
+ * Whether the product is restricted
16259
+ * @type {boolean}
16260
+ * @memberof ProductWithCategoryV3Dto
16261
+ */
16262
+ 'is_restricted': boolean;
16263
+ /**
16264
+ *
16265
+ * @type {BusinessTaxResponseDto}
16266
+ * @memberof ProductWithCategoryV3Dto
16267
+ */
16268
+ 'tax': BusinessTaxResponseDto | null;
16269
+ /**
16270
+ * Name of the category this product belongs to
16271
+ * @type {string}
16272
+ * @memberof ProductWithCategoryV3Dto
16273
+ */
16274
+ 'categoryName': string;
16275
+ /**
16276
+ * Indicates if the product is inventoried in POS
16277
+ * @type {boolean}
16278
+ * @memberof ProductWithCategoryV3Dto
16279
+ */
16280
+ 'pos_inventoried': boolean;
16281
+ /**
16282
+ * Quantity of the product in POS
16283
+ * @type {number}
16284
+ * @memberof ProductWithCategoryV3Dto
16285
+ */
16286
+ 'pos_quantity': number;
16287
+ /**
16288
+ * Channel config of inventoried per product
16289
+ * @type {Array<ChannelConfig>}
16290
+ * @memberof ProductWithCategoryV3Dto
16291
+ */
16292
+ 'channel_configs': Array<ChannelConfig>;
16293
+ /**
16294
+ * Default course ID assigned to this product
16295
+ * @type {object}
16296
+ * @memberof ProductWithCategoryV3Dto
16297
+ */
16298
+ 'default_course_id'?: object | null;
16299
+ }
16119
16300
  /**
16120
16301
  *
16121
16302
  * @export
@@ -16160,6 +16341,31 @@ export interface ProductsByCategoriesResponseDtoSummary {
16160
16341
  */
16161
16342
  'categoryCount': number;
16162
16343
  }
16344
+ /**
16345
+ *
16346
+ * @export
16347
+ * @interface ProductsByCategoriesV3ResponseDto
16348
+ */
16349
+ export interface ProductsByCategoriesV3ResponseDto {
16350
+ /**
16351
+ * Categories sorted by rank (additive — existing clients can ignore this field)
16352
+ * @type {Array<RankedCategoryDto>}
16353
+ * @memberof ProductsByCategoriesV3ResponseDto
16354
+ */
16355
+ 'categories': Array<RankedCategoryDto>;
16356
+ /**
16357
+ *
16358
+ * @type {ProductsByCategoriesResponseDtoSummary}
16359
+ * @memberof ProductsByCategoriesV3ResponseDto
16360
+ */
16361
+ 'summary': ProductsByCategoriesResponseDtoSummary;
16362
+ /**
16363
+ * Products with channel_configs scoped to MunchiPos (POS) only; full per-channel inventory is fetched per product
16364
+ * @type {Array<ProductWithCategoryV3Dto>}
16365
+ * @memberof ProductsByCategoriesV3ResponseDto
16366
+ */
16367
+ 'products': Array<ProductWithCategoryV3Dto>;
16368
+ }
16163
16369
  /**
16164
16370
  *
16165
16371
  * @export
@@ -17674,11 +17880,11 @@ export const SYNCKEY = {
17674
17880
  Discounts: 'DISCOUNTS',
17675
17881
  LoyaltySettings: 'LOYALTY_SETTINGS',
17676
17882
  BusinessConfig: 'BUSINESS_CONFIG',
17883
+ BusinessProviderSupportedIntegrations: 'BUSINESS_PROVIDER_SUPPORTED_INTEGRATIONS',
17677
17884
  PosSession: 'POS_SESSION',
17678
17885
  InvoiceCompanies: 'INVOICE_COMPANIES',
17679
17886
  BusinessTax: 'BUSINESS_TAX',
17680
- Transaction: 'TRANSACTION',
17681
- DiscountsV2: 'DISCOUNTS_V2'
17887
+ Transaction: 'TRANSACTION'
17682
17888
  } as const;
17683
17889
 
17684
17890
  export type SYNCKEY = typeof SYNCKEY[keyof typeof SYNCKEY];
@@ -23336,6 +23542,91 @@ export const StatusEnum = {
23336
23542
 
23337
23543
  export type StatusEnum = typeof StatusEnum[keyof typeof StatusEnum];
23338
23544
 
23545
+ /**
23546
+ *
23547
+ * @export
23548
+ * @interface WalletValidationResponseDto
23549
+ */
23550
+ export interface WalletValidationResponseDto {
23551
+ /**
23552
+ *
23553
+ * @type {boolean}
23554
+ * @memberof WalletValidationResponseDto
23555
+ */
23556
+ 'is_valid': boolean;
23557
+ /**
23558
+ *
23559
+ * @type {number}
23560
+ * @memberof WalletValidationResponseDto
23561
+ */
23562
+ 'wallet_id': number;
23563
+ /**
23564
+ *
23565
+ * @type {object}
23566
+ * @memberof WalletValidationResponseDto
23567
+ */
23568
+ 'status': object | null;
23569
+ /**
23570
+ *
23571
+ * @type {object}
23572
+ * @memberof WalletValidationResponseDto
23573
+ */
23574
+ 'product_name': object | null;
23575
+ /**
23576
+ *
23577
+ * @type {object}
23578
+ * @memberof WalletValidationResponseDto
23579
+ */
23580
+ 'product_price': object | null;
23581
+ /**
23582
+ *
23583
+ * @type {object}
23584
+ * @memberof WalletValidationResponseDto
23585
+ */
23586
+ 'product_type': object | null;
23587
+ /**
23588
+ *
23589
+ * @type {object}
23590
+ * @memberof WalletValidationResponseDto
23591
+ */
23592
+ 'customer_name': object | null;
23593
+ /**
23594
+ *
23595
+ * @type {object}
23596
+ * @memberof WalletValidationResponseDto
23597
+ */
23598
+ 'customer_email': object | null;
23599
+ /**
23600
+ *
23601
+ * @type {object}
23602
+ * @memberof WalletValidationResponseDto
23603
+ */
23604
+ 'redeemed_at': object | null;
23605
+ /**
23606
+ *
23607
+ * @type {object}
23608
+ * @memberof WalletValidationResponseDto
23609
+ */
23610
+ 'expires_at': object | null;
23611
+ /**
23612
+ *
23613
+ * @type {object}
23614
+ * @memberof WalletValidationResponseDto
23615
+ */
23616
+ 'restaurant_name': object | null;
23617
+ /**
23618
+ *
23619
+ * @type {object}
23620
+ * @memberof WalletValidationResponseDto
23621
+ */
23622
+ 'loyalty_program': object | null;
23623
+ /**
23624
+ *
23625
+ * @type {string}
23626
+ * @memberof WalletValidationResponseDto
23627
+ */
23628
+ 'message': string;
23629
+ }
23339
23630
  /**
23340
23631
  *
23341
23632
  * @export
@@ -32821,6 +33112,61 @@ export const LoyaltyIntegerationsApiAxiosParamCreator = function (configuration?
32821
33112
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
32822
33113
  localVarRequestOptions.data = serializeDataIfNeeded(pointsUpdatePayloadDto, localVarRequestOptions, configuration)
32823
33114
 
33115
+ return {
33116
+ url: toPathString(localVarUrlObj),
33117
+ options: localVarRequestOptions,
33118
+ };
33119
+ },
33120
+ /**
33121
+ *
33122
+ * @summary Validate a loyalty reward QR code wallet transaction
33123
+ * @param {number} businessId
33124
+ * @param {string} loyaltyId
33125
+ * @param {number} walletId
33126
+ * @param {*} [options] Override http request option.
33127
+ * @throws {RequiredError}
33128
+ */
33129
+ validateWallet: async (businessId: number, loyaltyId: string, walletId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
33130
+ // verify required parameter 'businessId' is not null or undefined
33131
+ assertParamExists('validateWallet', 'businessId', businessId)
33132
+ // verify required parameter 'loyaltyId' is not null or undefined
33133
+ assertParamExists('validateWallet', 'loyaltyId', loyaltyId)
33134
+ // verify required parameter 'walletId' is not null or undefined
33135
+ assertParamExists('validateWallet', 'walletId', walletId)
33136
+ const localVarPath = `/api/v1/loyalty/wallets/validate`;
33137
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
33138
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
33139
+ let baseOptions;
33140
+ if (configuration) {
33141
+ baseOptions = configuration.baseOptions;
33142
+ }
33143
+
33144
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
33145
+ const localVarHeaderParameter = {} as any;
33146
+ const localVarQueryParameter = {} as any;
33147
+
33148
+ // authentication JWT-auth required
33149
+ // http bearer authentication required
33150
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
33151
+
33152
+ if (businessId !== undefined) {
33153
+ localVarQueryParameter['businessId'] = businessId;
33154
+ }
33155
+
33156
+ if (loyaltyId !== undefined) {
33157
+ localVarQueryParameter['loyaltyId'] = loyaltyId;
33158
+ }
33159
+
33160
+ if (walletId !== undefined) {
33161
+ localVarQueryParameter['walletId'] = walletId;
33162
+ }
33163
+
33164
+
33165
+
33166
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
33167
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33168
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
33169
+
32824
33170
  return {
32825
33171
  url: toPathString(localVarUrlObj),
32826
33172
  options: localVarRequestOptions,
@@ -32967,6 +33313,19 @@ export const LoyaltyIntegerationsApiFp = function(configuration?: Configuration)
32967
33313
  const localVarAxiosArgs = await localVarAxiosParamCreator.updatePoints(businessId, pointsUpdatePayloadDto, options);
32968
33314
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
32969
33315
  },
33316
+ /**
33317
+ *
33318
+ * @summary Validate a loyalty reward QR code wallet transaction
33319
+ * @param {number} businessId
33320
+ * @param {string} loyaltyId
33321
+ * @param {number} walletId
33322
+ * @param {*} [options] Override http request option.
33323
+ * @throws {RequiredError}
33324
+ */
33325
+ async validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WalletValidationResponseDto>> {
33326
+ const localVarAxiosArgs = await localVarAxiosParamCreator.validateWallet(businessId, loyaltyId, walletId, options);
33327
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
33328
+ },
32970
33329
  }
32971
33330
  };
32972
33331
 
@@ -33097,6 +33456,18 @@ export const LoyaltyIntegerationsApiFactory = function (configuration?: Configur
33097
33456
  updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: any): AxiosPromise<PointsUpdateResponseDto> {
33098
33457
  return localVarFp.updatePoints(businessId, pointsUpdatePayloadDto, options).then((request) => request(axios, basePath));
33099
33458
  },
33459
+ /**
33460
+ *
33461
+ * @summary Validate a loyalty reward QR code wallet transaction
33462
+ * @param {number} businessId
33463
+ * @param {string} loyaltyId
33464
+ * @param {number} walletId
33465
+ * @param {*} [options] Override http request option.
33466
+ * @throws {RequiredError}
33467
+ */
33468
+ validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: any): AxiosPromise<WalletValidationResponseDto> {
33469
+ return localVarFp.validateWallet(businessId, loyaltyId, walletId, options).then((request) => request(axios, basePath));
33470
+ },
33100
33471
  };
33101
33472
  };
33102
33473
 
@@ -33226,6 +33597,18 @@ export interface LoyaltyIntegerationsApiInterface {
33226
33597
  */
33227
33598
  updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: AxiosRequestConfig): AxiosPromise<PointsUpdateResponseDto>;
33228
33599
 
33600
+ /**
33601
+ *
33602
+ * @summary Validate a loyalty reward QR code wallet transaction
33603
+ * @param {number} businessId
33604
+ * @param {string} loyaltyId
33605
+ * @param {number} walletId
33606
+ * @param {*} [options] Override http request option.
33607
+ * @throws {RequiredError}
33608
+ * @memberof LoyaltyIntegerationsApiInterface
33609
+ */
33610
+ validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig): AxiosPromise<WalletValidationResponseDto>;
33611
+
33229
33612
  }
33230
33613
 
33231
33614
  /**
@@ -33376,6 +33759,20 @@ export class LoyaltyIntegerationsApi extends BaseAPI implements LoyaltyIntegerat
33376
33759
  public updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: AxiosRequestConfig) {
33377
33760
  return LoyaltyIntegerationsApiFp(this.configuration).updatePoints(businessId, pointsUpdatePayloadDto, options).then((request) => request(this.axios, this.basePath));
33378
33761
  }
33762
+
33763
+ /**
33764
+ *
33765
+ * @summary Validate a loyalty reward QR code wallet transaction
33766
+ * @param {number} businessId
33767
+ * @param {string} loyaltyId
33768
+ * @param {number} walletId
33769
+ * @param {*} [options] Override http request option.
33770
+ * @throws {RequiredError}
33771
+ * @memberof LoyaltyIntegerationsApi
33772
+ */
33773
+ public validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig) {
33774
+ return LoyaltyIntegerationsApiFp(this.configuration).validateWallet(businessId, loyaltyId, walletId, options).then((request) => request(this.axios, this.basePath));
33775
+ }
33379
33776
  }
33380
33777
 
33381
33778
 
@@ -33529,6 +33926,45 @@ export const MenuApiAxiosParamCreator = function (configuration?: Configuration)
33529
33926
 
33530
33927
 
33531
33928
 
33929
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
33930
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33931
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
33932
+
33933
+ return {
33934
+ url: toPathString(localVarUrlObj),
33935
+ options: localVarRequestOptions,
33936
+ };
33937
+ },
33938
+ /**
33939
+ *
33940
+ * @summary Get products by categories without channel_configs (product list / labels)
33941
+ * @param {string} businessId Unique identifier of the business
33942
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
33943
+ * @param {*} [options] Override http request option.
33944
+ * @throws {RequiredError}
33945
+ */
33946
+ getProductsByCategoriesV3: async (businessId: string, filter?: 'available' | 'unavailable', options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
33947
+ // verify required parameter 'businessId' is not null or undefined
33948
+ assertParamExists('getProductsByCategoriesV3', 'businessId', businessId)
33949
+ const localVarPath = `/api/v3/menu/{businessId}/categories`
33950
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)));
33951
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
33952
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
33953
+ let baseOptions;
33954
+ if (configuration) {
33955
+ baseOptions = configuration.baseOptions;
33956
+ }
33957
+
33958
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
33959
+ const localVarHeaderParameter = {} as any;
33960
+ const localVarQueryParameter = {} as any;
33961
+
33962
+ if (filter !== undefined) {
33963
+ localVarQueryParameter['filter'] = filter;
33964
+ }
33965
+
33966
+
33967
+
33532
33968
  setSearchParams(localVarUrlObj, localVarQueryParameter);
33533
33969
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33534
33970
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -33630,6 +34066,18 @@ export const MenuApiFp = function(configuration?: Configuration) {
33630
34066
  const localVarAxiosArgs = await localVarAxiosParamCreator.getProductsByCategoriesV2(businessId, filter, options);
33631
34067
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
33632
34068
  },
34069
+ /**
34070
+ *
34071
+ * @summary Get products by categories without channel_configs (product list / labels)
34072
+ * @param {string} businessId Unique identifier of the business
34073
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34074
+ * @param {*} [options] Override http request option.
34075
+ * @throws {RequiredError}
34076
+ */
34077
+ async getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsByCategoriesV3ResponseDto>> {
34078
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getProductsByCategoriesV3(businessId, filter, options);
34079
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
34080
+ },
33633
34081
  /**
33634
34082
  *
33635
34083
  * @param {ResetEodDto} resetEodDto
@@ -33693,6 +34141,17 @@ export const MenuApiFactory = function (configuration?: Configuration, basePath?
33693
34141
  getProductsByCategoriesV2(businessId: string, filter?: 'available' | 'unavailable', options?: any): AxiosPromise<ProductsByCategoriesResponseDto> {
33694
34142
  return localVarFp.getProductsByCategoriesV2(businessId, filter, options).then((request) => request(axios, basePath));
33695
34143
  },
34144
+ /**
34145
+ *
34146
+ * @summary Get products by categories without channel_configs (product list / labels)
34147
+ * @param {string} businessId Unique identifier of the business
34148
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34149
+ * @param {*} [options] Override http request option.
34150
+ * @throws {RequiredError}
34151
+ */
34152
+ getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: any): AxiosPromise<ProductsByCategoriesV3ResponseDto> {
34153
+ return localVarFp.getProductsByCategoriesV3(businessId, filter, options).then((request) => request(axios, basePath));
34154
+ },
33696
34155
  /**
33697
34156
  *
33698
34157
  * @param {ResetEodDto} resetEodDto
@@ -33754,6 +34213,17 @@ export interface MenuApiInterface {
33754
34213
  */
33755
34214
  getProductsByCategoriesV2(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): AxiosPromise<ProductsByCategoriesResponseDto>;
33756
34215
 
34216
+ /**
34217
+ *
34218
+ * @summary Get products by categories without channel_configs (product list / labels)
34219
+ * @param {string} businessId Unique identifier of the business
34220
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34221
+ * @param {*} [options] Override http request option.
34222
+ * @throws {RequiredError}
34223
+ * @memberof MenuApiInterface
34224
+ */
34225
+ getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): AxiosPromise<ProductsByCategoriesV3ResponseDto>;
34226
+
33757
34227
  /**
33758
34228
  *
33759
34229
  * @param {ResetEodDto} resetEodDto
@@ -33823,6 +34293,19 @@ export class MenuApi extends BaseAPI implements MenuApiInterface {
33823
34293
  return MenuApiFp(this.configuration).getProductsByCategoriesV2(businessId, filter, options).then((request) => request(this.axios, this.basePath));
33824
34294
  }
33825
34295
 
34296
+ /**
34297
+ *
34298
+ * @summary Get products by categories without channel_configs (product list / labels)
34299
+ * @param {string} businessId Unique identifier of the business
34300
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34301
+ * @param {*} [options] Override http request option.
34302
+ * @throws {RequiredError}
34303
+ * @memberof MenuApi
34304
+ */
34305
+ public getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig) {
34306
+ return MenuApiFp(this.configuration).getProductsByCategoriesV3(businessId, filter, options).then((request) => request(this.axios, this.basePath));
34307
+ }
34308
+
33826
34309
  /**
33827
34310
  *
33828
34311
  * @param {ResetEodDto} resetEodDto
@@ -38839,6 +39322,48 @@ export const ProductApiAxiosParamCreator = function (configuration?: Configurati
38839
39322
 
38840
39323
 
38841
39324
 
39325
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
39326
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
39327
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
39328
+
39329
+ return {
39330
+ url: toPathString(localVarUrlObj),
39331
+ options: localVarRequestOptions,
39332
+ };
39333
+ },
39334
+ /**
39335
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39336
+ * @summary Get channel inventory (all channels) for a product
39337
+ * @param {string} businessId Business ID
39338
+ * @param {string} categoryId Category ID
39339
+ * @param {string} productId Product ID
39340
+ * @param {*} [options] Override http request option.
39341
+ * @throws {RequiredError}
39342
+ */
39343
+ getChannelInventoryV2: async (businessId: string, categoryId: string, productId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
39344
+ // verify required parameter 'businessId' is not null or undefined
39345
+ assertParamExists('getChannelInventoryV2', 'businessId', businessId)
39346
+ // verify required parameter 'categoryId' is not null or undefined
39347
+ assertParamExists('getChannelInventoryV2', 'categoryId', categoryId)
39348
+ // verify required parameter 'productId' is not null or undefined
39349
+ assertParamExists('getChannelInventoryV2', 'productId', productId)
39350
+ const localVarPath = `/api/v2/business/{businessId}/categories/{categoryId}/products/{productId}/channel-inventory`
39351
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)))
39352
+ .replace(`{${"categoryId"}}`, encodeURIComponent(String(categoryId)))
39353
+ .replace(`{${"productId"}}`, encodeURIComponent(String(productId)));
39354
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
39355
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
39356
+ let baseOptions;
39357
+ if (configuration) {
39358
+ baseOptions = configuration.baseOptions;
39359
+ }
39360
+
39361
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
39362
+ const localVarHeaderParameter = {} as any;
39363
+ const localVarQueryParameter = {} as any;
39364
+
39365
+
39366
+
38842
39367
  setSearchParams(localVarUrlObj, localVarQueryParameter);
38843
39368
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
38844
39369
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -38967,6 +39492,19 @@ export const ProductApiFp = function(configuration?: Configuration) {
38967
39492
  const localVarAxiosArgs = await localVarAxiosParamCreator.generateProductSkuV2(businessId, categoryId, productId, options);
38968
39493
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
38969
39494
  },
39495
+ /**
39496
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39497
+ * @summary Get channel inventory (all channels) for a product
39498
+ * @param {string} businessId Business ID
39499
+ * @param {string} categoryId Category ID
39500
+ * @param {string} productId Product ID
39501
+ * @param {*} [options] Override http request option.
39502
+ * @throws {RequiredError}
39503
+ */
39504
+ async getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ChannelInventoryResponseDto>>> {
39505
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getChannelInventoryV2(businessId, categoryId, productId, options);
39506
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
39507
+ },
38970
39508
  /**
38971
39509
  * Update inventory settings for multiple channels at once
38972
39510
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39017,6 +39555,18 @@ export const ProductApiFactory = function (configuration?: Configuration, basePa
39017
39555
  generateProductSkuV2(businessId: string, categoryId: string, productId: string, options?: any): AxiosPromise<ProductSkuResponseDto> {
39018
39556
  return localVarFp.generateProductSkuV2(businessId, categoryId, productId, options).then((request) => request(axios, basePath));
39019
39557
  },
39558
+ /**
39559
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39560
+ * @summary Get channel inventory (all channels) for a product
39561
+ * @param {string} businessId Business ID
39562
+ * @param {string} categoryId Category ID
39563
+ * @param {string} productId Product ID
39564
+ * @param {*} [options] Override http request option.
39565
+ * @throws {RequiredError}
39566
+ */
39567
+ getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: any): AxiosPromise<Array<ChannelInventoryResponseDto>> {
39568
+ return localVarFp.getChannelInventoryV2(businessId, categoryId, productId, options).then((request) => request(axios, basePath));
39569
+ },
39020
39570
  /**
39021
39571
  * Update inventory settings for multiple channels at once
39022
39572
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39064,6 +39614,18 @@ export interface ProductApiInterface {
39064
39614
  */
39065
39615
  generateProductSkuV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): AxiosPromise<ProductSkuResponseDto>;
39066
39616
 
39617
+ /**
39618
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39619
+ * @summary Get channel inventory (all channels) for a product
39620
+ * @param {string} businessId Business ID
39621
+ * @param {string} categoryId Category ID
39622
+ * @param {string} productId Product ID
39623
+ * @param {*} [options] Override http request option.
39624
+ * @throws {RequiredError}
39625
+ * @memberof ProductApiInterface
39626
+ */
39627
+ getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): AxiosPromise<Array<ChannelInventoryResponseDto>>;
39628
+
39067
39629
  /**
39068
39630
  * Update inventory settings for multiple channels at once
39069
39631
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39113,6 +39675,20 @@ export class ProductApi extends BaseAPI implements ProductApiInterface {
39113
39675
  return ProductApiFp(this.configuration).generateProductSkuV2(businessId, categoryId, productId, options).then((request) => request(this.axios, this.basePath));
39114
39676
  }
39115
39677
 
39678
+ /**
39679
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39680
+ * @summary Get channel inventory (all channels) for a product
39681
+ * @param {string} businessId Business ID
39682
+ * @param {string} categoryId Category ID
39683
+ * @param {string} productId Product ID
39684
+ * @param {*} [options] Override http request option.
39685
+ * @throws {RequiredError}
39686
+ * @memberof ProductApi
39687
+ */
39688
+ public getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig) {
39689
+ return ProductApiFp(this.configuration).getChannelInventoryV2(businessId, categoryId, productId, options).then((request) => request(this.axios, this.basePath));
39690
+ }
39691
+
39116
39692
  /**
39117
39693
  * Update inventory settings for multiple channels at once
39118
39694
  * @summary Update channel inventory (POS, Kiosk, etc.)